예제 #1
0
        public ActionResult Index(PasswordResetInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Index"));
            }

            try
            {
                HierarchicalUserAccount account = _userAccountService.GetByEmail(model.Email);

                if (account != null)
                {
                    _userAccountService.ResetPassword(model.Email);
                    return(View("ResetSuccess"));
                }

                ModelState.AddModelError("", "Invalid email");
            }
            catch (ValidationException ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            return(View("Index"));
        }
예제 #2
0
 public ActionResult Index(PasswordResetInputModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             this.userAccountService.ResetPassword(model.Email);
             return(View("ResetSuccess"));
         }
         catch (ValidationException ex)
         {
             ModelState.AddModelError("", ex.Message);
         }
     }
     return(View());
 }
예제 #3
0
        public async Task <IActionResult> PasswordReset(PasswordResetInputModel model)
        {
            model.IsPasswordEquals = model.NewPassword.Equals(model.PasswordConfirmation);
            model.IsPasswordValid  = model.NewPassword.Length >= 8 &&
                                     model.NewPassword.Any(char.IsUpper) &&
                                     model.NewPassword.Any(char.IsLower) &&
                                     model.NewPassword.Any(char.IsNumber) &&
                                     model.NewPassword.Any(char.IsLetter) &&
                                     !model.NewPassword.All(char.IsLetterOrDigit);
            if (model.IsPasswordEquals && model.IsPasswordValid && _simepadf.Usuario.Any(u => u.Email == model.Email && u.RecoveryCode == model.Code))
            {
                await ChangeUserPassword(model.Email, model.NewPassword);

                ResetUserRecoveryCode(model.Email);
                return(View("RecoverySuccess"));
            }

            return(View("PasswordReset", model));
        }
 public ActionResult Index(PasswordResetInputModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             if (this.userAccountService.ResetPassword(model.Email))
             {
                 return(View("ResetSuccess"));
             }
             else
             {
                 ModelState.AddModelError("", "Error resetting password. The email might be invalid.");
             }
         }
         catch (ValidationException ex)
         {
             ModelState.AddModelError("", ex.Message);
         }
     }
     return(View());
 }
        public ActionResult Index(PasswordResetInputModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var account = this.userAccountService.GetByEmail(model.Email);
                    if (account != null)
                    {
                        if (!account.PasswordResetSecrets.Any())
                        {
                            this.userAccountService.ResetPassword(model.Email);
                            return(View("ResetSuccess"));
                        }

                        var vm = new PasswordResetWithSecretInputModel(account.ID);
                        vm.Questions =
                            account.PasswordResetSecrets.Select(
                                x => new PasswordResetSecretViewModel
                        {
                            QuestionID = x.PasswordResetSecretID,
                            Question   = x.Question
                        }).ToArray();

                        return(View("ResetWithQuestions", vm));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Invalid email");
                    }
                }
                catch (ValidationException ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }
            return(View("Index"));
        }
예제 #6
0
        public ActionResult Index(PasswordResetInputModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var account = this.userSvc.WdaForgotPassword(model.Email, HttpContext.Request.ServerVariables["REMOTE_ADDR"]);

                    if (account.IsPasswordReset <= 0)
                    {
                        ModelState.AddModelError("", account.Remarks);
                    }
                    else
                    {
                        return(View("ResetSuccess"));
                    }
                }
                catch (ValidationException ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }
            return(View("Index"));
        }
 public IHttpActionResult PatchPasswordReset(PasswordResetInputModel model)
 {
     _userService.ResetPassword(model.Email);
     return(Ok(new { Message = UserAccountActionMessages.UsernameReminderSent.GetDescription() }));
 }