コード例 #1
0
        public async Task <IActionResult> PasswordRecovery(PasswordRecoveryViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var result = await _authenticationService.ResetPassword(model.Username,
                                                                            model.NewPassword,
                                                                            model.Token);

                    if (result.Status == Domain.Service.Models.ServiceResultStatus.Success)
                    {
                        AlertSuccess = _sharedLocalizer[Annotations.Info.PasswordResetFor,
                                                        model.Username];
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        ShowAlertWarning(_sharedLocalizer[Annotations.Validate.UnableToReset,
                                                          _sharedLocalizer[result.Message, result.Arguments]]);
                    }
                }
                catch (GraException gex)
                {
                    ShowAlertDanger(_sharedLocalizer[Annotations.Validate.UnableToReset,
                                                     _sharedLocalizer[gex.Message]]);
                    if (gex.GetType() == typeof(GraPasswordValidationException))
                    {
                        ModelState.AddModelError(nameof(model.NewPassword),
                                                 _sharedLocalizer[Annotations.Validate.PasswordIssue]);
                    }
                }
            }
            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> PasswordRecovery(PasswordRecoveryViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (!TempData.ContainsKey("PasswordRecoveryToken") ||
                    !TempData.ContainsKey("PasswordRecoveryUserId"))
                {
                    ModelState.AddModelError("", "Internal TempData was deleted. Try again please.");
                    return(View(model));
                }
                var user = await _userManager.FindByIdAsync(TempData["PasswordRecoveryUserId"] as string);

                var token = TempData["PasswordRecoveryToken"] as string;

                var rs = await _userManager.ResetPasswordAsync(user, token, model.NewPassword);

                if (rs.Succeeded)
                {
                    return(RedirectToAction("Login"));
                }
                else
                {
                    foreach (var error in rs.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
            }

            return(View(model));
        }
コード例 #3
0
        public NextStepPasswordRecoveryCommand(PasswordRecoveryViewModel passwordRecoveryViewModel, IUnitOfWork unitOfWork, IEmailService email)
        {
            _passwordRecoveryViewModel = passwordRecoveryViewModel;
            _unitOfWork   = unitOfWork;
            _emailService = email;

            _passwordRecoveryViewModel.PropertyChanged += PasswordRecoveryViewModel_PropertyChanged;
        }
コード例 #4
0
		public ActionResult PasswordRecoveryChange(string id)
		{
			var model = new PasswordRecoveryViewModel
			{
				Token = id
			};

			return View(model);
		}
コード例 #5
0
        public ActionResult PasswordRecovery(PasswordRecoveryViewModel vm)
        {
            User usr = uRepo.GetByUsername(vm.UserName.Trim());

            if (usr == null)
            {
                ModelState.AddModelError("UserName", "המשתמש לא נמצא במערכת");
                return(View(vm));
            }
            else
            {
                vm.Password = Protector.Decrypt(usr.Password);
            }
            return(View(vm));
        }
コード例 #6
0
		public ActionResult PasswordRecoveryChange(PasswordRecoveryViewModel model)
		{
			model.ResetPassword();
			return View("PasswordRecoveryChangeSucc");
		}