public async Task <ActionResult> UpdatePasswordUser(string oldP, string newP, string newPCom) { long idUser = long.Parse(User.Identity.GetUserId()); if (oldP != null && newP != null && newPCom != null && newP == newPCom) { var result = await UserManager.ChangePasswordAsync(long.Parse(User.Identity.GetUserId()), oldP, newP); return(Json(result.Succeeded, JsonRequestBehavior.AllowGet)); } else { return(Json(false, JsonRequestBehavior.AllowGet)); } }
public async Task <IHttpActionResult> ChangePassword([FromBody] ChangePasswordBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } IdentityResult result = await _userManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword); if (!result.Succeeded) { return(GetErrorResult(result)); } return(Ok()); }
public async Task <ActionResult> ChangePassword(ChangePasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword); if (result.Succeeded) { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); if (user != null) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); } return(RedirectToAction("Index", new { Message = ManageMessageId.ChangePasswordSuccess })); } AddErrors(result); return(View(model)); }
public ResponseResult ChangePass(HSKR.Identity.ChangePasswordBindingModel model) { try { if (!model.NewPassword.Trim().Equals(model.ConfirmPassword.Trim())) { var data = new Response <UserViewModel> { Message = HttpMessage.CHANGE_PASS_OLD_PASS, Data = null, Status = false }; ActionContext.Response.StatusCode = HttpStatusCode.Redirect; return(new ResponseResult(data, ActionContext)); } var user = userManager.Find(model.UserName, model.OldPassword); if (user == null) { var data = new Response <UserViewModel> { Message = HttpMessage.CHANGE_PASS_WRONG_ACC, Data = null, Status = false }; ActionContext.Response.StatusCode = HttpStatusCode.Redirect; return(new ResponseResult(data, ActionContext)); } var result = JObject.Parse(user.ToJson()); var userId = result["id"]; var changePassResult = userManager.ChangePasswordAsync(long.Parse(userId.ToString()), model.OldPassword, model.NewPassword.Trim()); if (!changePassResult.Result.Succeeded) { var repon = new Response <UserViewModel> { Message = changePassResult.Result.Errors.ToJson(), Status = false, }; ActionContext.Response.StatusCode = HttpStatusCode.InternalServerError; return(new ResponseResult(repon, ActionContext)); } var userResponse = new Response <UserViewModel> { Message = "Change password success", Status = true, }; return(new ResponseResult(userResponse, ActionContext)); } catch (Exception exception) { logger.Error(exception); ActionContext.Response.StatusCode = HttpStatusCode.InternalServerError; var data = new Response <UserViewModel> { Message = HttpMessage.ERROR_CHANGE_PASS, Status = false }; return(new ResponseResult(data, ActionContext)); } }
public async Task <ActionResult> ChangePassword(ChangePasswordInputModel model) { if (ModelState.IsValid) { #if DEBUG Debug.WriteLine("Model is valid"); #endif var user = await _userManager.FindByNameAsync(model.UserName); if (user != null) { #if DEBUG Debug.WriteLine("user is not null"); #endif if (!(await _userManager.IsUsedPasswordAsync(user.UserID, model.Password))) { #if DEBUG Debug.WriteLine("Password is NOT used."); #endif var result2 = await _userManager.ChangePasswordAsync(user.UserID, model.OldPassword, model.Password); if (result2.Succeeded) { #if DEBUG Debug.WriteLine("Password is changed to succeeded"); #endif var resultSetUsedPassword = await _userManager.SetUsedPasswordAsync(user.UserID, model.Password).ConfigureAwait(true); #if DEBUG Debug.WriteLine("Used password is saved!"); #endif var result3 = await _userManager.SetSigninEndDateAsync(user); //.ConfigureAwait(false); #if DEBUG if (result3) { Debug.WriteLine("SetSigninEndDateAsync is well done"); } #endif var result4 = await _userManager.ResetAccessFailedCountAsync(user.UserID); #if DEBUG if (result4.Succeeded) { Debug.WriteLine("ResetAccessFailedCountAsync is executed."); } #endif result4 = await _userManager.SetChangePasswordEndDateAsync(user); #if DEBUG if (result4.Succeeded) { Debug.WriteLine("SetChangePasswordEndDateAsync is executed."); } #endif result4 = await _userManager.SetPasswordEnabledAsync(user, false); #if DEBUG if (result4.Succeeded) { Debug.WriteLine("SetPasswordEnabledAsync is executed."); } #endif return(RedirectToAction("ResetPasswordConfirmation")); } else { // Активизирована ли функция блокировки учётки в системе if (_userManager.LockoutEnabled) { #if DEBUG Debug.WriteLine("++++ GetLockoutEnabledAsync is enabled"); #endif // Увелечение счётчика неудачных попыток ввода пароля if (await _userManager.AccessFailedAsync(user.UserID) == IdentityResult.Success) { #if DEBUG Debug.WriteLine("~~~ AccessFailedAsync is working!"); #endif if (await _userManager.IsLockedOutAsync(user.UserID)) { #if DEBUG Debug.WriteLine("Account is locked out!"); #endif //Заблокировать учётку return(View("Lockout")); } } } ModelState.AddModelError("", "Ввод старого пароля не верен!"); } } else { #if DEBUG Debug.WriteLine("Password is used!"); #endif ModelState.AddModelError("", "Пароль уже использовался"); return(View()); } } } #if DEBUG Debug.WriteLine("Error is occured in ChangePassword"); #endif return(View(model)); }