Beispiel #1
0
        public RedirectToRouteResult Reset(PasswordResetCredentials user)
        {
            if (!ModelState.IsValid)
            {
                ErrorMessage = ModelState.FlattenErrors();

                return(RedirectToAction("PasswordReset"));
            }

            var account = Session.Query <Account, IndexEmail>()
                          .SingleOrDefault(x => x.Email == user.Email);

            if (account == null)
            {
                ErrorMessage = "Email address not found.";

                return(RedirectToAction("PasswordReset"));
            }

            var passwordToHash = CommandExecutor.ExecuteCommand(new GeneratePasswordCommand());
            var task           = CommandExecutor.ExecuteCommand(new HashPasswordCommand(passwordToHash));

            account.Password = task.Result;

            CommandExecutor.ExecuteCommand(new SendPasswordResetEmailCommand(user.Email, passwordToHash));

            Message = "Your password was reset. Please check your email and login.";

            return(RedirectToAction("Index", "AccountAccess"));
        }
Beispiel #2
0
 public ViewResult PasswordReset(PasswordResetCredentials user)
 {
     return(View(new MainViewModel(Account).WithUser(new Account
     {
         Email = user.Email
     })));
 }
        public RedirectToRouteResult Reset(PasswordResetCredentials user)
        {
            if (!ModelState.IsValid)
            {
                ErrorMessage = ModelState.FlattenErrors();

                return RedirectToAction("PasswordReset");
            }

            var account = Session.Query<Account, IndexEmail>()
                                 .SingleOrDefault(x => x.Email == user.Email);

            if (account == null)
            {
                ErrorMessage = "Email address not found.";

                return RedirectToAction("PasswordReset");
            }

            var passwordToHash = CommandExecutor.ExecuteCommand(new GeneratePasswordCommand());
            var task = CommandExecutor.ExecuteCommand(new HashPasswordCommand(passwordToHash));

            account.Password = task.Result;

            CommandExecutor.ExecuteCommand(new SendPasswordResetEmailCommand(user.Email, passwordToHash));

            Message = "Your password was reset. Please check your email and login.";

            return RedirectToAction("Index", "AccountAccess");
        }
 public ViewResult PasswordReset(PasswordResetCredentials user)
 {
     return View(new MainViewModel(Account).WithUser(new Account
     {
         Email = user.Email
     }));
 }