Пример #1
0
        public bool ChangePassword(PasswordChangeUserModel model)
        {
            var user = _userRepository.GetById(model.Id);

            if (user == null)
            {
                return(false);
            }
            if (!CheckCredentials(user.Username, model.OldPassword))
            {
                return(false);
            }
            byte[] salt;
            new RNGCryptoServiceProvider().GetBytes(salt = new byte[16]);
            var hashedPassword = HashThePassword(model.NewPassword, salt);

            user.Password = hashedPassword;
            _userRepository.Save(user);
            return(true);
        }
Пример #2
0
 public ActionResult ChangePassword(PasswordChangeUserModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (_accountBl.ChangePassword(model))
             {
                 logger.Info("Password changed id = " + model.Id);
                 return(RedirectToAction("Index", "Users"));
             }
             logger.Info("Password invalid, id = " + model.Id);
             ModelState.AddModelError("OldPassword", "Password is invalid.");
             return(View());
         }
         logger.Info("Model state invalid.");
         return(View());
     }
     catch (Exception e)
     {
         logger.Error("Exception occured, redirecting to password change page. " + e.Message);
         return(View());
     }
 }