public async Task<ActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return View(model); } var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { // Don't reveal that the user does not exist return RedirectToAction("ResetPasswordConfirmation", "Account"); } SHA256PasswordHasher hasher = new SHA256PasswordHasher(); if(hasher.VerifyHashedPassword(user.TempPassword,model.TemporaryPassword) == PasswordVerificationResult.Failed) { return View(); } var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { user = db.Users.Find(user.Id); user.TempPassword = null; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("ResetPasswordConfirmation", "Account"); } AddErrors(result); return View(); }
public async Task<ActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return View(model); } var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { // Don't reveal that the user does not exist return RedirectToAction("ResetPasswordConfirmation", "Account"); } var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { return RedirectToAction("ResetPasswordConfirmation", "Account"); } AddErrors(result); return View(); }
public ActionResult ResetPassword(string UserId, string code) { if (string.IsNullOrWhiteSpace(UserId) || string.IsNullOrWhiteSpace(code)) return View("Error"); User user = UserManager.FindById(UserId); if(user == null) return View("Error"); var resetPasswordViewModel = new ResetPasswordViewModel { Email = user.UserName, Code = code }; return View(resetPasswordViewModel); }