示例#1
0
        private void SignInButtonClick(object sender, RoutedEventArgs e)
        {
            var login    = loginTextBox.Text;
            var password = passwordBox.Password;

            if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
            {
                MessageBox.Show("Заполните все поля");
                return;
            }

            using (var context = new SecurityContext())
            {
                var user = context.Users.SingleOrDefault(searchingUser => searchingUser.Login == login);

                if (user == null || !SecurityHasher.VerifyPassword(password, user.Password))
                {
                    MessageBox.Show("Неверный логин или пароль");
                }
                else
                {
                    MessageBox.Show("Успешный вход");
                    Close();
                }
            }
        }
        private async void SignInButtonClick(object sender, RoutedEventArgs e)
        {
            var login = loginTextBox.Text;

            var password = passwordBox.Password;

            if (string.IsNullOrWhiteSpace(login) || string.IsNullOrWhiteSpace(password))
            {
                MessageBox.Show("Заполните все поля!");
                return;
            }

            signInButton.IsEnabled       = false;
            registrationButton.IsEnabled = false;

            using (var context = new DataAccess.AppContext())
            {
                var user = await GetUserFromLogin(context, login);

                if (user == null || !SecurityHasher.VerifyPassword(password, user.Password))
                {
                    MessageBox.Show("Неверный логин или пароль");
                }
                else
                {
                    new CabinetWindow().Show();
                    Close();
                }
            }

            signInButton.IsEnabled       = true;
            registrationButton.IsEnabled = true;
        }
 protected override void Seed(SecurityContext context)
 {
     context.Users.Add(new Models.User
     {
         Login    = "******",
         Password = SecurityHasher.HashPassword("123")
     });
 }
示例#4
0
        public UserServiceTests()
        {
            var jwtOptions = new JwtOptions()
            {
                SecretKey = "notsosecrettestkeyofcoursedontuse"
            };

            hasher    = new SecurityHasher();
            dbMock    = new Mock <IUsersPostgres>();
            emailMock = new Mock <IEmailService>();
            auth      = new AliseeksJwtAuthentication(new Microsoft.Extensions.Options.OptionsWrapper <JwtOptions>(jwtOptions), new FakeRavenClient().Object);

            service = new UserService(auth, dbMock.Object, hasher, emailMock.Object, new FakeRavenClient().Object, null);
        }
示例#5
0
        private async void RegistrationButtonClick(object sender, RoutedEventArgs e)
        {
            string login = loginTextBox.Text;

            string password = passwordTextBox.Password;

            if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
            {
                MessageBox.Show("Заполните все поля!");
                return;
            }

            registrationButton.IsEnabled = false;

            using (var context = new DataAccess.AppContext())
            {
                var user = await GetUserFromLogin(context, login);

                if (user == null)
                {
                    await CreateUser(context, new User
                    {
                        Login    = login,
                        Password = SecurityHasher.HashPassword(password)
                    });

                    await context.SaveChangesAsync();

                    MessageBox.Show("Учетная запись успешно создана!");
                    Close();
                }
                else
                {
                    MessageBox.Show("Логин уже занят!");
                }
            }

            registrationButton.IsEnabled = true;
        }
示例#6
0
        private async void SignInButtonClick(object sender, RoutedEventArgs e)
        {
            var login    = loginTextBox.Text;
            var password = passwordBox.Password;

            if (string.IsNullOrWhiteSpace(login) || string.IsNullOrWhiteSpace(password))
            {
                MessageBox.Show("Заполните все поля");
                return;
            }
            signInButton.IsEnabled = false;
            using (var context = new SecurityContext())
            {
                var user = await GetUser(context, login);

                if (user == null || !SecurityHasher.VerifyPassword(password, user.Password))
                {
                    MessageBox.Show("Неверный логин или пароль");
                }
            }
            OpenDropBoxWindow();
        }
示例#7
0
        private async void SignUpButtonClick(object sender, RoutedEventArgs e)
        {
            var login    = loginTextBox.Text;
            var password = passwordBox.Password;

            if (string.IsNullOrWhiteSpace(login))
            {
                MessageBox.Show("Введите логин");
                return;
            }
            if (string.IsNullOrWhiteSpace(password))
            {
                MessageBox.Show("Введите пароль");
                return;
            }
            signInButton.IsEnabled = false;
            using (var context = new SecurityContext())
            {
                var user = await GetUser(context, login);

                if (user == null)
                {
                    context.Users.Add(new User
                    {
                        Login    = login,
                        Password = SecurityHasher.HashPassword(password)
                    });
                    await context.SaveChangesAsync();
                }
                else
                {
                    MessageBox.Show("Аккаунт с таким логином уже зарегистрирован");
                    signInButton.IsEnabled = true;
                    return;
                }
            }
            OpenDropBoxWindow();
        }
        private void RegistrateButtonClick(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(newLoginTextBox.Text) || string.IsNullOrEmpty(newPasswordBox.Password) || string.IsNullOrEmpty(repeatPasswordBox.Password))
            {
                MessageBox.Show("Заполните все поля");
                return;
            }

            using (var context = new SecurityContext())
            {
                if (newPasswordBox.Password != repeatPasswordBox.Password)
                {
                    MessageBox.Show("Введённые пароли не совпадают");
                    return;
                }

                foreach (var user in context.Users)
                {
                    if (user.Login == newLoginTextBox.Text)
                    {
                        MessageBox.Show("Пользователь с таким логином уже существует");
                        return;
                    }
                }

                var newUser = new User
                {
                    Login    = newLoginTextBox.Text,
                    Password = SecurityHasher.HashPassword(newPasswordBox.Password)
                };

                context.Users.Add(newUser);
                context.SaveChanges();
            }
            MessageBox.Show("Вы успешно зарегистрировались");
            Close();
        }
示例#9
0
 protected override void Seed(DataContext context) => context.Users.Add(new Models.User
 {
     Login    = "******",
     Password = SecurityHasher.HashPassword("Admin")
 });