Создайте имитацию входа в систему - C#
Формулировка задачи:
Помогите сделать эту программу в C#:
Создайте имитацию входа в систему, которая будет запрашивать пароль и выдавать приглашение только в случае совпадения введенного пароля с заранее определенным в программе, а в случае ошибки выдавать сообщение об ошибке и просьбе повторить ввод. После 3 ошибок программа должна выдать сообщение о попытке несанкционированного доступа и завершить работу. (для простоты в виде кода используйте переменную типа int).
Задание для продвинутых: усложните программу тем, что
а) в ней будет содержаться база пользователей (login и password), и будет требоваться ввести не просто пароль, а логинн и соответстующий ему пароль.
б) в случае ошибки в логине или пароле выдать соответствующее сообщение об ошибке.
в) в случае тройной ошибки ввода пароля для одного пользователя вывести сообщение о завершении сеанса, а в случае перебора более 3-х логинов с выдачей сообщений об ошибке в пароле выдать сообщение о попытке несанкционированного доступа и завершить работу.
г) после прохождения идентификации добавить диалог изменения паролей для текущего пользователя, а при входе под логином Administrator паролей для всех пользователей.
д) под логином Administrator организовать вывод логинов и паролей всех пользователей на экран.
Решение задачи: «Создайте имитацию входа в систему»
textual
Листинг программы
public partial class AuthorizationDialog : Window
{
public AuthorizationDialog()
{
InitializeComponent();
}
private void Verify()
{
VerificationResult result = App.Verificator.Verify(
loginTextBox.Text, passwordTextBox.Text.GetHashCode().ToString(
CultureInfo.InvariantCulture));
switch (result)
{
case VerificationResult.Success:
Application.Current.MainWindow = new MainWindow();
Application.Current.MainWindow.Show();
App.InitializeUser(loginTextBox.Text);
Close();
break;
case VerificationResult.Failure:
MessageBox.Show(this, "Неверный пароль");
break;
case VerificationResult.IllegalAccess:
MessageBox.Show(this, "Несанкционированный доступ");
Application.Current.Shutdown();
break;
case VerificationResult.NotFoundLogin:
MessageBox.Show(this, "Такой логин не зарегистрирован");
break;
}
}
private void LoginButton_Click(object sender, RoutedEventArgs e)
{
loginTextBox.IsEnabled = false;
passwordTextBox.IsEnabled = false;
Verify();
loginTextBox.IsEnabled = true;
passwordTextBox.IsEnabled = true;
}
private void ShutdownButton_Click(object sender, RoutedEventArgs e)
{
Application.Current.Shutdown();
}
}