Example #1
0
 /// <summary>
 /// Устанавливает новый пароль пользователю.
 /// </summary>
 /// <param name="password"></param>
 /// <param name="user"></param>
 public static void SetNewPassword(SecureString password, User user)
 {
     if (!PasswordMaker.CheckPassword(password))
     {
         return;
     }
     user.Pass = PasswordMaker.MakeHash(password, user.Salt);
 }
Example #2
0
        /// <summary>
        /// Пытается авторизовать пользователя по имени и паролю.
        /// </summary>
        /// <exception cref="NoUsernameException" />
        /// <exception cref="FieldConstraintException" />
        public bool TryLogin(string username, SecureString password)
        {
            var user = (from u in DB.Context.Users
                        where u.Login == username
                        select u).SingleOrDefault();

            if (user == null)
            {
                throw new NoUsernameException();
            }

            // сравниваем хеш пароля в базе с вычисленным по паролю
            if (user.Pass == PasswordMaker.MakeHash(password, user.Salt))
            {
                CurrentUser = user;
                return(true);
            }
            else
            {
                throw new FieldConstraintException();
            }
        }