示例#1
0
 public RedirectResult PasswordReset(ResetPasswordViewModel model)
 {
     try
     {
         _resetPasswordService.ResetPassword(model);
         return(_uniquePageService.RedirectTo <LoginPage>());
     }
     catch (Exception ex)
     {
         ErrorSignal.FromCurrentContext().Raise(ex);
         return(_uniquePageService.RedirectTo <LoginPage>());
     }
 }
示例#2
0
        public ActionResult PasswordReset(ResetPasswordPage page, Guid id)
        {
            User user = _userService.GetUserByResetGuid(id);

            if (user == null)
            {
                return(Redirect("~"));
            }

            ViewData["ResetPasswordViewModel"] = new ResetPasswordViewModel(id, user);

            return(View(page));
        }
示例#3
0
        public void ResetPassword(ResetPasswordViewModel model)
        {
            User user = _userService.GetUserByEmail(model.Email);

            if (user.ResetPasswordGuid == model.Id && user.ResetPasswordExpiry > CurrentRequestData.Now &&
                _passwordManagementService.ValidatePassword(model.Password, model.ConfirmPassword))
            {
                _passwordManagementService.SetPassword(user, model.Password, model.ConfirmPassword);

                user.ResetPasswordExpiry = null;
                user.ResetPasswordGuid = null;

                _userService.SaveUser(user);
            }
            else
                throw new InvalidOperationException("Unable to reset password, resend forgotten password email");
        }