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));
        }
示例#2
0
        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"));
        }