public async Task <IActionResult> ChangePassword1(ChangePasswordViewModel1 model) { if (ModelState.IsValid) { User user = await _userManager.FindByIdAsync(model.Id); if (user != null) { IdentityResult result = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword); if (result.Succeeded) { return(RedirectToAction("Index")); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } } else { ModelState.AddModelError(string.Empty, "Пользователь не найден"); } } return(View(model)); }
public async Task <ActionResult> ChangePassword(ChangePasswordViewModel1 model) { if (!ModelState.IsValid) { return(View(model)); } if (ModelState.IsValid) { Context db = new Context(); var userStore = new UserStore <Kullanici>(db); var userManager = new UserManager <Kullanici>(userStore); var eskiSifre = model.OldPassword; var yeniSifre = model.NewPassword; var sifreDogrulama = model.ConfirmationPassword; var kullanici = Session["Kullanici"] as Kullanici; var result1 = userManager.PasswordHasher.VerifyHashedPassword(kullanici.PasswordHash, eskiSifre); if (eskiSifre == yeniSifre) { ModelState.AddModelError(string.Empty, "Girilen yeni ve eski sifreler ayni olmamali!"); } else if (result1 != PasswordVerificationResult.Success) { ModelState.AddModelError(string.Empty, "Girilen eski sifre yanlis!"); return(View(model)); } else if (yeniSifre != sifreDogrulama) { ModelState.AddModelError(string.Empty, "Yeni sifreler uyusmuyor!"); return(View(model)); } else { var result2 = await userManager.ChangePasswordAsync(kullanici.Id, eskiSifre, yeniSifre); if (result2.Succeeded) { Response.Write("<script>alert('Kaydetme islemi basariyla gerceklestirildi')</script>"); } } } return(RedirectToAction("Login", "Home")); }