123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 |
- Авторизация в проекте ресторана:
- public partial class Autorization : Page
- {
-
- public Autorization()
- {
- InitializeComponent();
- DataBase.tbE = new Entities22();
-
- }
- private void btnBack_Click(object sender, RoutedEventArgs e)
- {
- FrameWork.MainFrame.Navigate(new FirstPage());
- }
- private void btnAuth_Click(object sender, RoutedEventArgs e)
- {
- string p = Convert.ToString(tbpass.Password.GetHashCode());
- Users users = DataBase.tbE.Users.FirstOrDefault(x => x.Login == tblog.Text && x.Password == p);
- if (users != null)
- {
- if (users.idRole == 1)
- {
- // admin - gerasimov 22!Aaaaa
- NavigationService.Navigate(new AdminPage2(users));
- }
- else
- {
- MessageBox.Show($"Привет, {users.Name}!", "Успешная авторизация", MessageBoxButton.OK, MessageBoxImage.Information);
- NavigationService.Navigate(new ShowMenu(users.id_client));
- NavigationService.Navigate(new PersonalAccount(users));
-
- }
- }
- else
- {
- MessageBox.Show($"Введенный логин и/или пароль не существуют в системе", "Ошибка авторизации", MessageBoxButton.OK, MessageBoxImage.Error); ;
- }
- }
- private void btngoBack_Click(object sender, RoutedEventArgs e)
- {
- NavigationService.Navigate(new FirstPage());
- }
- private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
- {
- NavigationService.Navigate(new Registration());
- }
- }
- регистрация
- 10. Предусмотрите вариант неправильно введенного (или несуществующего) логина или пароля. Также предусмотрите вариант, что у двух пользователей не может быть одного логина (пароли могут совпадать! ) .
- Введенный пароль должен удовлетворять следующим требованиям: не менее 1 заглавного латинского символа, не менее 3 строчных латинских символов, не менее 2 цифры и не менее 1 спец. символа. Общая длина пароля не менее 8 символов). Если пользователь ввел некорректный пароль, вывести сообщение, какое именно требование не выполнено. Для проверки удовлетворения пароля требованиям должно быть написано регулярное выражение.
- 11. После регистрации нового пользователя должно появиться уведомление об успешной регистрации
- public partial class Registration : Page
- {
- List<Country> countryList = DataBase.tbE.Country.ToList();
- List<City> cityList = DataBase.tbE.City.ToList();
- List<GenderTable> genderList = DataBase.tbE.GenderTable.ToList();
- List<Users> users = DataBase.tbE.Users.ToList();
- public Registration()
- {
- InitializeComponent();
- DataBase.tbE = new Entities22();
- cmb2.ItemsSource = cityList;
- cmb2.SelectedValuePath = "idCity";
- cmb2.DisplayMemberPath = "nameCity";
- cmb.ItemsSource = countryList;
- cmb.SelectedValuePath = "idCountry";
- cmb.DisplayMemberPath = "nameCountry";
- }
- private void btnReg_Click(object sender, RoutedEventArgs e)
- {
- try
- {
- if (checkPassword.IsChecked == true)
- {
- tbPassword.Password = tbPasswordTB.Text;
- }
- if (checkPassword.IsChecked == false)
- {
- tbPasswordTB.Text = tbPassword.Password;
- }
- if (checkPassword2.IsChecked == true)
- {
- tbPassword2.Password = tbPasswordTB1.Text;
- }
- if (checkPassword2.IsChecked == false)
- {
- tbPasswordTB1.Text = tbPassword2.Password;
- }
- int genderList = 0;
- if (rb1.IsChecked == true) { genderList = 1; }
- else if (rb2.IsChecked == true) { genderList = 2; }
- /// <summary>
- /// Проверка на заполненнсть
- /// </summary>
- if (!String.IsNullOrEmpty(tbName.Text)
- && !String.IsNullOrEmpty(tbSurname.Text)
- && !String.IsNullOrEmpty(tbPatronymic.Text)
- && !String.IsNullOrEmpty(tbLogin.Text)
- && !String.IsNullOrEmpty(tbPassword.Password)
- && !String.IsNullOrEmpty(tbPassword2.Password)
- && (cmb.SelectedItem != null)
- && (cmb2.SelectedItem != null)
- && (rb1.IsChecked == true || rb2.IsChecked == true))
- /// <summary>
- /// Проверка на пробелы
- /// </summary>
- ///
- if (users.Where(x => x.Login.ToString() == tbLogin.Text).Count() == 0)
- if (!tbName.Text.Contains(" ")
- && !tbSurname.Text.Contains(" ")
- && !tbPatronymic.Text.Contains(" ")
- && !tbLogin.Text.Contains(" ")
- && !tbPassword.Password.Contains(" ")
- && !tbPassword2.Password.Contains(" "))
- {
- // два рбаочих варианта регулярки на две цифры
- //if (Regex.IsMatch(tbPassword.Password, @"(?=.[0-9]){2,}"))
- if (Regex.IsMatch(tbPassword.Password, @"(?=.*[0-9].*[0-9])"))
- {
- if (Regex.IsMatch(tbPassword.Password, @"(?=.[A-Z]){1,}"))
- {
- if (Regex.IsMatch(tbPassword.Password, @"[a-z]+.*[a-z]+.*[a-z]"))
- {
- if (Regex.IsMatch(tbPassword.Password, @"\W"))
- {
- if (Regex.IsMatch(tbPassword.Password, @"(?=.*[^\w\s]).{8,}"))
- {
- if (tbPassword.Password.ToString() == tbPassword2.Password.ToString())
- {
- Users users = new Users()
- {
- Name = tbName.Text,
- Surname = tbSurname.Text,
- Patronymic = tbPatronymic.Text,
- Login = tbLogin.Text,
- Password = tbPassword.Password.GetHashCode().ToString(),
- idCountry = cmb.SelectedIndex + 1,
- idCity = cmb2.SelectedIndex + 1,
- //Country = (Country)cmb.SelectedItem,
- //City = (City)cmb2.SelectedItem,
- IdGender = genderList,
- idRole = 2
- };
- DataBase.tbE.Users.Add(users);
- DataBase.tbE.SaveChanges();
- MessageBox.Show("Успешная регистрация");
- NavigationService.Navigate(new Autorization());
- }
- else
- {
- MessageBox.Show("Пароли не совпадают", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("Пароль должен состоять не менее восьми символов", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("Пароль должен содержать не менее одного спец.символа", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("В пароле должно находится не менее 3 строчных латинских символов", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("В пароле должно находится не менее одного 1 заглавного символа", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("В пароле содержатся менее двух цифр", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("Проверьте, чтобы поля не содержали пробелы", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- else
- {
- MessageBox.Show("Такой логин уже существует", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- else
- {
- MessageBox.Show("Возможно не заполнено одно или несколько полей, а также не выбраны какие-то элементы", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- catch
- {
- MessageBox.Show("Непредвиденная ошибка, попробуйте еще раз", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- private void btnBack_Click(object sender, RoutedEventArgs e)
- {
- NavigationService.GoBack();
- }
- private void checkPassword_Checked(object sender, RoutedEventArgs e)
- {
- if (checkPassword.IsChecked == true)
- {
- tbPasswordTB.Text = tbPassword.Password;
- tbPasswordTB.Visibility = Visibility.Visible;
- tbPassword.Visibility = Visibility.Collapsed;
- }
- }
- private void checkPassword_Unchecked(object sender, RoutedEventArgs e)
- {
- if (checkPassword.IsChecked == false)
- {
- tbPassword.Password = tbPasswordTB.Text;
- tbPasswordTB.Visibility = Visibility.Collapsed;
- tbPassword.Visibility = Visibility.Visible;
- }
- }
- private void checkPassword2_Checked_1(object sender, RoutedEventArgs e)
- {
- if (checkPassword2.IsChecked == true)
- {
- tbPasswordTB1.Text = tbPassword2.Password;
- tbPasswordTB1.Visibility = Visibility.Visible;
- tbPassword2.Visibility = Visibility.Collapsed;
- }
- }
- private void checkPassword2_Unchecked_1(object sender, RoutedEventArgs e)
- {
- if (checkPassword2.IsChecked == false)
- {
- tbPassword2.Password = tbPasswordTB1.Text;
- tbPasswordTB1.Visibility = Visibility.Collapsed;
- tbPassword2.Visibility = Visibility.Visible;
- }
- }
- private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
- {
- NavigationService.Navigate(new Autorization());
- }
- }
- ХЕШ ПАРОЛЯ РАСХЕШИРОВАНИЕ
- public partial class WindowChangePasswordLogin : Window
- {
- Users users;
- List<Users> user = DataBase.tbE.Users.ToList();
- public WindowChangePasswordLogin(Users users)
- {
- InitializeComponent();
- this.users = users;
- tbLogin.Text = users.Login;
- }
-
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- this.Close();
- }
- private void Button_Click_1(object sender, RoutedEventArgs e)
- {
- try
- {
- string a = tbOldPassword.Password.GetHashCode().ToString();
- Users users1 = DataBase.tbE.Users.FirstOrDefault(x => x.Login == users.Login && x.Password == a);
- if(users1 == null)
- {
- MessageBox.Show("Старый пароль не соответствует действительности", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- /// <summary>
- /// Проверка на заполненнсть
- /// </summary>
- if (!String.IsNullOrEmpty(tbLogin.Text)
- && !String.IsNullOrEmpty(tbOldPassword.Password)
- && !String.IsNullOrEmpty(tbNewPassword.Password)
- && !String.IsNullOrEmpty(tbNewNewPas.Password))
- /// <summary>
- /// Проверка на пробелы
- /// </summary>
- ///
-
- if (user.Where(x => x.Login.ToString() == tbLogin.Text).Count() == 0)
- if (!tbLogin.Text.Contains(" ")
- && !tbOldPassword.Password.Contains(" ")
- && !tbNewPassword.Password.Contains(" ")
- && !tbNewNewPas.Password.Contains(" ") )
- {
- // два рбаочих варианта регулярки на две цифры
- //if (Regex.IsMatch(tbPassword.Password, @"(?=.[0-9]){2,}"))
- if (Regex.IsMatch(tbNewNewPas.Password, @"(?=.*[0-9].*[0-9])") && Regex.IsMatch(tbNewPassword.Password, @"(?=.*[0-9].*[0-9])"))
- {
- if (Regex.IsMatch(tbNewNewPas.Password, @"(?=.[A-Z]){1,}") && Regex.IsMatch(tbNewPassword.Password, @"(?=.[A-Z]){1,}"))
- {
- if (Regex.IsMatch(tbNewNewPas.Password, @"[a-z]+.*[a-z]+.*[a-z]") && Regex.IsMatch(tbNewPassword.Password, @"[a-z]+.*[a-z]+.*[a-z]"))
- {
- if (Regex.IsMatch(tbNewNewPas.Password, @"\W") && Regex.IsMatch(tbNewPassword.Password, @"\W"))
- {
- if (Regex.IsMatch(tbNewNewPas.Password, @"(?=.*[^\w\s]).{8,}") && Regex.IsMatch(tbNewPassword.Password, @"(?=.*[^\w\s]).{8,}"))
- {
- if (tbNewNewPas.Password.ToString() == tbNewPassword.Password.ToString())
- {
- users.Login = tbLogin.Text;
- users.Password = tbNewNewPas.GetHashCode().ToString();
- DataBase.tbE.SaveChanges();
- MessageBox.Show("Успешно");
- this.Close();
- }
- else
- {
- MessageBox.Show("Пароли не совпадают", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("Пароль должен состоять не менее восьми символов", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("Пароль должен содержать не менее одного спец.символа", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("В пароле должно находится не менее 3 строчных латинских символов", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("В пароле должно находится не менее одного 1 заглавного символа", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("В пароле содержатся менее двух цифр", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- else
- {
- MessageBox.Show("Проверьте, чтобы поля не содержали пробелы", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- else
- {
- MessageBox.Show("Такой логин уже существует", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- else
- {
- MessageBox.Show("Возможно не заполнено одно или несколько полей, а также не выбраны какие-то элементы", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- catch
- {
- MessageBox.Show("Непредвиденная ошибка, попробуйте еще раз", "Возникла какая-то ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- }
- }
|