Алгоритм авторизации
При нажатии на кнопку «Войти»:
- Программа получает данные, введенные пользователем в поля логина и пароля.
- Эти данные проверяются на существование в таблице users базы данных.
- Если логин и пароль верны, пользователь авторизуется.
- В противном случае, авторизация отклоняется.
Реализация авторизации в C#
Обработчик события Click и получение данных пользователя
Создаем обработчик события buttonLogin_Click. Внутри него получаем логин и пароль из полей login_field.Text и pass_field.Text соответственно, сохраняя их в переменных login_user и pass_user типа string. Переименование кнопки в «buttonLogin» улучшает читаемость кода.
string login_user = login_field.Text;
string pass_user = pass_field.Text;
Подключение к базе данных и формирование SQL-запроса
Создаем объекты для работы с базой данных: DbConnection (созданный в предыдущем уроке), MySqlCommand для формирования SQL-запроса и MySqlDataAdapter (требуется подключить директиву using MySql.Data.MySqlClient). Для безопасного запроса используем параметры вместо непосредственной подстановки переменных:
SELECT * FROM users WHERE login = @login AND pass = @pass
Реализация в C#:
// ... создание объекта DbConnection ...
MySqlCommand command = new MySqlCommand("SELECT * FROM users WHERE login = @login AND pass = @pass", connection);
command.Parameters.AddWithValue("@login", login_user);
command.Parameters.AddWithValue("@pass", pass_user);
Выполнение запроса и обработка результатов
Выполняем запрос с помощью MySqlDataAdapter и проверяем количество полученных строк. Если количество строк больше нуля, авторизация успешна; иначе — неуспешна.
MySqlDataAdapter adapter = new MySqlDataAdapter(command);
DataTable dt = new DataTable();
adapter.Fill(dt);
if (dt.Rows.Count > 0)
{
MessageBox.Show("Пользователь авторизован");
}
else
{
MessageBox.Show("Пользователь не авторизован");
}
В статье описан процесс реализации авторизации пользователя в C# приложении Windows Forms с использованием базы данных MySQL. Процесс включает получение данных от пользователя, формирование безопасного SQL-запроса, его выполнение и проверку результатов. При использовании удаленного сервера базы данных необходимо заменить параметры подключения на соответствующие данные, предоставленные хостинг-провайдером. Этот подход обеспечивает надежную и безопасную авторизацию.