Как сделать форму регистрации в visual studio
Здравствуйте. У меня возник такой вопрос. У меня есть форма входа, которая уже знает 2 пользователей : Admin adc User. Для доступа к базам данных. Мне же необходимо создать отдельную форму для регистрации дополнительных User-ов.
Вот скрины формы:
Вот код по переходу для Admin:
То есть, как видите у меня пароли хранятся в отдельных txt файлах. И я столкнулся с проблемой того, что при регистрации мне необходимо не только просто создавать новые файлы, но и задавать им имя.
Вот то, до чего я допёр:
Но так не то, что я хочу. Так как мне нужно, чтобы имя файла задавал именно сам пользователь. Вопрос: как? И нормально ли я всё это делаю или как обычно через жопу?)
Спасибо, если ответите и поможете)
Кастомная регистрация пользователей
Всем здравствуйте! Есть проблема: у меня в приложении есть 2 варианта регистрации (2 метода).
KennyDap,
1) Первое. Давайте сделаем объектную модель. У нас есть сущность - пользователь. Создадим класс для него:
Класс User хранит логин пользователя и его пароль. Пароль хранится в виде хеша. Хранение паролей в открытом виде - недопустимо.
К классу применен атрибут Serializable, для того, что бы класс мог сохраняться в файл.
2) Далее, поскольку пользователей у нас будет много, нужен класс, хранящий их. Для этого создадим класс Users:
Этот класс хранит список пользователей, а также имеет два метода для регистрации и входа пользователей. Суть методов описана в комментариях.
3) После того, как объектная модель создана, создадим форму логина/регистрации:
Код формы будет следующим:
В конструкторе форма загружает файл пользователей, если он есть. При регистрации нового пользователя - сохраняет файл. При успешном входе пользователя - открывает главную форму приложения.
После переноса сайта на сервер хостинга, не работает регистрация новых пользователей
После переноса сайта на сервер хостинга, не работает регистрация новых пользователей. Заодно не.
Как удалить пользователей из массива пользователей?
Мне нужно удалить всех 5-ти пользователей из кода. Я так понял нужно null использовать? using.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
На некоторых снимках экрана в этом учебнике используется темная тема. Если вы не используете темную тему, но хотите переключиться на нее, см. страницу Персонализация интегрированной среды разработки и редактора Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio 2022, если еще не сделали этого.
Создание проекта
Откройте Visual Studio 2017.
В верхней строке меню последовательно выберите Файл > Создать > Проект.
Запустите Visual Studio.
На начальном экране выберите Создать проект.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
В поле Имя проекта окна Настроить новый проект введите HelloWorld. Затем нажмите Создать.
Новый проект открывается в Visual Studio.
Запустите Visual Studio.
В окне запуска выберите Создание нового проекта.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
В поле Имя проекта окна Настроить новый проект введите HelloWorld. Затем выберите Создать.
Новый проект открывается в Visual Studio.
Создание приложения
Добавление кнопки на форму
Выберите Панель элементов, чтобы открыть всплывающее окно "Панель элементов".
(Если параметр для всплывающего окна Панель элементов отсутствует, его можно открыть в строке меню. Для этого выберите Вид > Панель элементов. Либо нажмите клавиши CTRL+ALT+X.)
Выберите значок Закрепить, чтобы закрепить окно Панель элементов.
Выберите элемент управления Кнопка и перетащите его на форму.
В окне Свойства найдите Текст, измените имя с button1 на Click this и нажмите клавишу ВВОД.
(Если окно Свойства не отображается, его можно открыть в строке меню.) Для этого выберите Вид > Окно свойств. Или нажмите клавишу F4.)
В разделе Конструктор окна Свойства измените имя с button1 на btnClickThis и нажмите клавишу ВВОД.
Если список в окне Свойства был упорядочен по алфавиту, button1 появится в разделе Привязки данных.
Добавление метки на форму
Теперь, когда мы добавили элемент управления ''Кнопка'' для создания действия, давайте добавим элемент управления "Метка", куда можно отправлять текст.
Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму и расположите под кнопкой Нажмите это.
В разделе Конструктор или Привязки данных окна Свойства измените имя label1 на lblHelloWorld и нажмите клавишу ВВОД.
Добавление кода на форму
В окне Form1.cs [Проект] дважды щелкните кнопку Нажмите это, чтобы открыть окно Form1.cs.
(Кроме того, можно развернуть узел Form1.cs в обозревателе решений, а затем выбрать Form1.)
В окне Form1.cs после строки private void введите lblHelloWorld.Text = "Hello World!"; , как показано на следующем снимке экрана:
Запуск приложения
Будет выполнено несколько операций. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Кроме того, вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажмите это и текст label1.
Закройте диалоговое окно Form1, чтобы завершить работу приложения.
Создание приложения
Добавление кнопки на форму
Щелкните Панель элементов, чтобы открыть всплывающее окно "Панель элементов".
(Если параметр для всплывающего окна Панель элементов отсутствует, его можно открыть в строке меню. Для этого выберите Вид > Панель элементов. Либо нажмите клавиши CTRL+ALT+X.)
Щелкните значок Закрепить, чтобы закрепить окно Панель элементов.
Выберите элемент управления Кнопка и перетащите его на форму.
В окне Свойства найдите элемент Текст, измените имя с Button1 на Click this , а затем нажмите клавишу ВВОД.
(Если окно Свойства не отображается, его можно открыть в строке меню.) Для этого выберите Вид > Окно свойств. Или нажмите клавишу F4.)
В разделе Проектирование окна Свойства измените имя с Button1 на btnClickThis , а затем нажмите клавишу ВВОД.
Если список был упорядочен по алфавиту в окне Свойства, Button1 появится в разделе (DataBindings) .
Добавление метки на форму
Теперь, когда мы добавили элемент управления ''Кнопка'' для создания действия, давайте добавим элемент управления "Метка", куда можно отправлять текст.
Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму и расположите под кнопкой Нажмите это.
В разделе Проект или (DataBindings) окна Свойства измените имя Label1 на lblHelloWorld и нажмите клавишу ВВОД.
Добавление кода на форму
В окне Form1.cs [Проект] дважды щелкните кнопку Нажмите это, чтобы открыть окно Form1.cs.
(Кроме того, можно развернуть узел Form1.cs в обозревателе решений, а затем выбрать Form1.)
В окне Form1.cs после строки private void введите lblHelloWorld.Text = "Hello World!"; , как показано на следующем снимке экрана:
Запуск приложения
Будет выполнено несколько операций. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Кроме того, вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажмите это и текст Label1.
Закройте диалоговое окно Form1, чтобы завершить работу приложения.
Следующие шаги
Для получения дополнительных сведений перейдите к следующему руководству:
Вступление
Задачи и сведения в учебнике:
начните с установки и запуска Visual Studio Express 2013 для Web или Visual Studio 2013. установите Visual Studio 2013 обновление 3 или более поздней версии.
предупреждение. для работы с этим руководством необходимо установить Visual Studio 2013 обновление 3 или более поздней версии.
Включите SSL (SSL) для проекта. выполните действия, описанные в разделе включение SSL для Projectначало работы с помощью веб-формы серии руководств.
Запустите приложение, щелкните ссылку Register (регистрация ) и зарегистрируйте нового пользователя. На этом этапе единственная проверка по электронной почте основана на атрибуте [EmailAddress] , чтобы убедиться, что адрес электронной почты имеет правильный формат. Вы измените код, чтобы добавить подтверждение по электронной почте. Закройте окно браузера.
в обозреватель сервера Visual Studio (View - >обозреватель сервера) перейдите к коннектионс\дефаултконнектион\таблес\аспнетусерс данных, щелкните правой кнопкой мыши и выберите открыть определение таблицы.
На следующем рисунке показана AspNetUsers схема таблицы.
В Обозреватель серверащелкните правой кнопкой мыши таблицу AspNetUsers и выберите команду отобразить данные таблицы.
Подтверждение по электронной почте
Подключение SendGrid
SendGrid изменил API, так как этот учебник написан. Текущие инструкции SendGrid см. в разделе SendGrid или Включение подтверждения учетной записи и восстановление пароля.
Хотя в этом учебнике показано, как добавлять уведомления по электронной почте через SendGrid, можно отправлять электронную почту с помощью SMTP и других механизмов (см. Дополнительные ресурсы).
в Visual Studio откройте консоль диспетчер пакетов (сервис - >NuGet диспетчер пакетов — >диспетчер пакетов консоль) и введите следующую команду:
Install-Package SendGrid
Перейдите на страницу регистрации Azure SendGrid и зарегистрируйтесь для бесплатной учетной записи SendGrid. Вы также можете зарегистрироваться для бесплатной учетной записи SendGrid непосредственно на сайте SendGrid.
в Обозреватель решений откройте файл IdentityConfig. cs в папке App_Start и добавьте следующий код, выделенный желтым EmailService цветом, в класс для настройки SendGrid:
Кроме того, добавьте следующие using инструкции в начало файла IdentityConfig. CS :
Чтобы не усложнять этот пример, вы храните значения учетной записи службы электронной почты в appSettings разделе файла web.config . Добавьте следующий код XML, выделенный желтым цветом, в файл web.config в корне проекта:
Добавьте значения службы электронной почты, чтобы они отражали значения проверки подлинности SendGrid (имя пользователя и пароль), чтобы можно было успешно отправлять электронную почту из приложения. Не забудьте использовать имя учетной записи SendGrid, а не адрес электронной почты, предоставленный SendGrid.
Включить подтверждение электронной почты
Чтобы включить подтверждение по электронной почте, измените регистрационный код, выполнив следующие действия.
В папке Account Откройте код программной части Register. aspx. CS и обновите CreateUser_Click метод, чтобы включить следующие выделенные изменения:
в Обозреватель решенийщелкните правой кнопкой мыши Default. aspx и выберите задать в качестве начальной страницы.
Проверьте учетную запись электронной почты и щелкните ссылку, чтобы подтвердить свою электронную почту.
После отправки регистрационной формы вы войдете в систему.
Требовать подтверждение по электронной почте перед входом
в Обозреватель решений Visual Studio обновите CreateUser_Click событие в коде программной части Register. aspx. cs , который содержится в папке accounts со следующими выделенными изменениями:
LogIn Обновите метод в коде Login. aspx. CS со следующими выделенными изменениями:
Запуск приложения
Восстановление и сброс пароля
в Visual Studio удалите символы комментария из Forgot метода в коде программной части забыл. aspx. cs , который содержится в папке Account , чтобы метод был представлен следующим образом:
Откройте страницу Login. aspx . Замените разметку рядом с концом раздела loginForm , как показано ниже:
Откройте код программной части Login. aspx. CS и раскомментируйте следующую строку кода, выделенную желтым цветом из Page_Load обработчика событий:
Щелкните ссылку забыли пароль? , чтобы отобразить страницу забытый пароль .
На странице Сброс пароля введите адрес электронной почты, пароль и подтверждение пароля. Затем нажмите кнопку Reset (Сброс ).
При успешном сбросе пароля будет отображаться страница изменения пароля . Теперь вы можете войти в систему, используя новый пароль.
Ссылка для подтверждения повторной отправки по электронной почте
в Visual Studio откройте код программной части Login. aspx. cs и добавьте следующий обработчик событий после LogIn обработчика событий:
LogIn Измените обработчик событий в коде Login. aspx. CS , изменив код, выделенный желтым цветом, следующим образом:
Обновите страницу Login. aspx , добавив код, выделенный желтым цветом, следующим образом:
Удалите все учетные записи в таблице AspNetUsers , содержащие псевдоним электронной почты, который нужно протестировать.
Запустите приложение (F5) и зарегистрируйте свой адрес электронной почты.
Устранение неполадок приложения
Шаг 1. Создание базы
Первым делом создадим новую базу данных test для хранения тестовой информации. Добавьте таблицу user со следующими полями:
Шаг 2. Создание проекта
Создайте проект для нового приложения. В Visual Studio для этого нужно зайти в меню File > New > Project .
Создание нового проекта в Visual Studio
После этого появится окно New Project:
Окно New Project в интерфейсе Visual Studio
В поле Name нужно вписать название вашего проекта, в поле Location – указать нужную директорию, в Solution name – ввести название решения. Заполнили данные – нажимаем OK .
Главный класс нового проекта в Visual Studio
Шаг 3. Создание интерфейса
Создайте представление будущей формы авторизации, как показано на рисунке ниже. Добавьте два поля ( username и password ) и кнопку для входа.
Шаг 4. Настройка соединения с базой
Создайте класс connection для настройки соединения с базой. Пример реализации представлен в листинге ниже:
Шаг 5. Код авторизации
Наконец, вернитесь к форме и добавьте следующий код:
Результат
Нажмите F5 , чтобы запустить программу. Если соединение с базой данных успешно установится, вы увидите только что созданную форму.
Интерфейс работающей программы
В этой статье демонстрируется простой способ быстрого получения данных из базы данных. Если приложению необходимо изменить данные с помощью нетривиальных способов и обновить базу данных, следует рассмотреть возможность использования Entity Framework и привязки данных для автоматической синхронизации элементов управления пользовательского интерфейса с изменениями в базовых данных.
С целью упрощения код не включает обработку исключений для выполнения в рабочей среде.
Предварительные требования
Для создания приложения вам потребуются следующие компоненты.
SQL Server Express LocalDB. если у вас нет SQL Server Express LocalDB, его можно установить на странице загрузки SQL Server.
Настройка образца базы данных
Создайте образец базы данных, выполнив следующие действия.
в Visual Studio откройте окно обозреватель сервера .
щелкните правой кнопкой мыши подключения к данным и выберите команду создать новую базу данных SQL Server.
В текстовом поле имя сервера введите (LocalDB) \mssqllocaldb.
В текстовом поле имя новой базы данных введите Sales, а затем нажмите кнопку ОК.
Пустая база данных Sales создается и добавляется в узел подключения к данным в обозреватель сервера.
Щелкните правой кнопкой мыши подключение к данным о продажах и выберите создать запрос.
Откроется окно редактора запросов.
вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку выполнить .
По истечении короткого времени выполнение запроса завершается и создаются объекты базы данных. База данных содержит две таблицы: Customer и Orders. Эти таблицы изначально не содержат данных, но их можно добавить при запуске создаваемого приложения. База данных также содержит четыре простые хранимые процедуры.
Создание форм и добавление элементов управления
Создайте проект для приложения Windows Forms и назовите его SimpleDataApp.
Visual Studio создает проект и несколько файлов, включая пустую форму Windows Forms с именем Form1.
Добавьте две формы Windows Forms в проект, чтобы он включал три формы, и назначьте им следующие имена:
Навигация
NewCustomer
FillOrCancel
Для каждой формы добавьте текстовые поля, кнопки и другие элементы управления, которые отображаются на рисунках ниже. Для каждого элемента управления задайте свойства, указанные в таблицах.
Элементы управления "группа" и "надпись" обеспечивают большую ясность, но не используются в коде.
Форма навигации
Форма NewCustomer
Форма FillOrCancel
Сохранение строки подключения
Когда приложение пытается открыть подключение к базе данных, оно должно иметь доступ к строке подключения. Чтобы не вводить строку вручную в каждой форме, сохраните строку в файле App.config в проекте и создайте метод, возвращающий строку при вызове метода из любой формы в приложении.
Строку подключения можно найти, щелкнув правой кнопкой мыши подключение данных о продажах в Обозреватель сервера и выбрав Свойства. Найдите свойство ConnectionString , а затем с помощью клавиш CTRL + A, CTRL + C выберите и скопируйте строку в буфер обмена.
В столбце имя введите connString .
В списке тип выберите (строка подключения).
В списке область выберите приложение.
В столбце значение введите строку подключения (без кавычек), а затем сохраните изменения.
В реальных приложениях строку подключения следует хранить безопасно, как описано в разделе строки подключения и файлы конфигурации.
Написание кода для форм
Этот раздел содержит краткие обзоры того, что делает каждая форма. Он также предоставляет код, определяющий базовую логику при нажатии кнопки на форме.
Форма навигации
Форма навигации открывается при запуске приложения. Кнопка Добавить учетную запись открывает форму NewCustomer. Кнопка Выполнение или отмена заказов открывает форму FillOrCancel. Кнопка Выход закрывает приложение.
Преобразование формы навигации в начальную форму
если вы используете Visual Basic, в обозреватель решений откройте окно свойства , перейдите на вкладку приложение и выберите симпледатаапп. Navigation в списке начальных форм .
Создание автоматически создаваемых обработчиков событий
Дважды щелкните три кнопки в форме навигации, чтобы создать пустые методы обработчика событий. При двойном щелчке кнопки также добавляется автоматически созданный код в файл кода конструктора, который позволяет нажать кнопку для вызова события.
Если пропустить действие двойного щелчка в конструкторе и просто скопировать код и вставить его в файлы кода, не забудьте присвоить обработчику событий правильный метод. Это можно сделать в окне Свойства . Перейдите на вкладку события (воспользуйтесь кнопкой на панели инструментов с молнией) и найдите обработчик щелчка .
Добавление кода для логики формы навигации
На странице кода для формы навигации заполните основные тексты методов для трех обработчиков событий нажатия кнопки, как показано в следующем коде.
Форма NewCustomer
если ввести имя клиента, а затем нажать кнопку создать учетную запись , форма NewCustomer создает учетную запись клиента, а SQL Server возвращает значение идентификатора в качестве нового идентификатора клиента. Затем можно разместить заказ для новой учетной записи, указав сумму и дату заказа и нажав кнопку поместить порядок .
Создание автоматически создаваемых обработчиков событий
Создайте пустой обработчик событий щелчка для каждой кнопки в форме NewCustomer, дважды щелкнув каждую из четырех кнопок. При двойном щелчке кнопки также добавляется автоматически созданный код в файл кода конструктора, который позволяет нажать кнопку для вызова события.
Добавление кода для логики формы NewCustomer
Чтобы завершить логику формы NewCustomer, выполните следующие действия.
System.Data.SqlClient Перенесите пространство имен в область, чтобы не указывать полные имена его членов.
Добавьте в класс некоторые переменные и вспомогательные методы, как показано в следующем коде.
Заполните основные тексты методов для четырех обработчиков событий нажатия кнопки, как показано в следующем коде.
Форма FillOrCancel
Форма Филлорканцел запускает запрос для возврата заказа при вводе идентификатора заказа и нажатия кнопки найти заказ . Возвращенная строка отображается в сетке данных только для чтения. Можно пометить заказ как отмененный (X), если нажать кнопку отменить заказ или пометить заказ как заполненный (F), если нажать кнопку заполнить заказ . Если нажать кнопку найти порядок еще раз, появится обновленная строка.
Создание автоматически создаваемых обработчиков событий
Создайте пустые обработчики событий щелчка для четырех кнопок в форме Филлорканцел, дважды щелкнув кнопки. При двойном щелчке кнопки также добавляется автоматически созданный код в файл кода конструктора, который позволяет нажать кнопку для вызова события.
Добавление кода для логики формы Филлорканцел
Чтобы завершить логику формы Филлорканцел, выполните следующие действия.
Перенесите следующие два пространства имен в область, чтобы не указывать полные имена их членов.
Добавьте в класс переменную и вспомогательный метод, как показано в следующем коде.
Заполните основные тексты методов для четырех обработчиков событий нажатия кнопки, как показано в следующем коде.
Тестирование приложения
Запустите приложение и попробуйте создать несколько клиентов и заказов, чтобы убедиться, что все работает правильно. Чтобы убедиться, что база данных обновлена с учетом внесенных изменений, откройте узел таблицы в Обозреватель сервера, щелкните правой кнопкой мыши узлы Customers и Orders и выберите команду отобразить данные таблицы.
Читайте также: