Пример #1
0
        public async Task <ActionResult> ChangePassword(UserPasswordChangeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.ErMes   = "Ошибка валидации модели";
                ViewBag.ErStack = "";
                return(View("Error"));
            }
            ApplicationUser user = await UserManager.FindByIdAsync(model.Id);

            if (user == null)
            {
                ViewBag.ErMes   = "Пользователь с Id " + model.Id + " не найден";
                ViewBag.ErStack = "";
                return(View("Error"));
            }
            var result = await UserManager.PasswordValidator.ValidateAsync(model.Password);

            if (result.Succeeded)
            {
                user.PasswordHash = UserManager.PasswordHasher.HashPassword(model.Password);
                result            = await UserManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    TempData["MessageOk"] = "Пароль изменен";
                    return(RedirectToAction("ShowUsers", "UsersManagement"));
                }
                AddErrors(result);
                return(View(model));
            }
            AddErrors(result);
            return(View(model));
        }
Пример #2
0
        public ActionResult ChangePassword(string UserId)
        {
            if (UserId == null)
            {
                ViewBag.ErMes   = "Не указан идентификатор пользователя";
                ViewBag.ErStack = "";
                return(View("Error"));
            }
            try
            {
                ApplicationUser User = db.Users.Find(UserId);

                if (User != null)
                {
                    UserPasswordChangeViewModel passwordchange = new UserPasswordChangeViewModel();
                    passwordchange.Id              = User.Id;
                    passwordchange.UserName        = User.UserName;
                    passwordchange.Password        = string.Empty;
                    passwordchange.ConfirmPassword = string.Empty;
                    return(View(passwordchange));
                }
                else
                {
                    ViewBag.ErMes   = "Пользователь с Id " + User.Id + " не найден";
                    ViewBag.ErStack = "";
                    return(View("Error"));
                }
            }
            catch (Exception ex)
            {
                ViewBag.ErMes   = ex.Message;
                ViewBag.ErStack = ex.StackTrace;
                return(View("Error"));
            }
        }
Пример #3
0
        public async Task <IActionResult> ChangePassword(UserPasswordChangeViewModel patch)
        {
            var user = _mapper.Map <UserSecurityModel>(patch);

            var result = await _authService.ChangePasswordAsync(user);

            return(Ok());
        }
Пример #4
0
        public async Task <IActionResult> UserPasswordChange(string taiKhoan, [Bind("TaiKhoan,Ten,MatKhauMoi,XacNhanMatKhauMoi")] UserPasswordChangeViewModel model)
        {
            if (taiKhoan != model.TaiKhoan)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(model.TaiKhoan);

                if (user == null)
                {
                    return(NotFound());
                }
                var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                var result = await _userManager.ResetPasswordAsync(user, token, model.MatKhauMoi);

                if (result.Succeeded)
                {
                    var nguoiCapNhat = await _userManager.GetUserAsync(User);

                    var userChange = new UserChange
                    {
                        ThoiGian       = DateTime.Now,
                        NguoiCapNhat   = nguoiCapNhat.UserName,
                        HanhDong       = "Đổi mật khẩu",
                        NguoiBiCapNhat = user.UserName
                    };
                    _context.UserChanges.Add(userChange);
                    await _context.SaveChangesAsync();

                    TempData["messageSuccess"] = $"Mật khẩu người dùng \"{model.TaiKhoan}\" đã cập nhật!";
                    return(RedirectToAction("Index"));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }
            return(View(model));
        }
Пример #5
0
        public async Task <IActionResult> UserPasswordChange(string taiKhoan)
        {
            if (taiKhoan == null)
            {
                return(NotFound());
            }
            var user = await _userManager.FindByNameAsync(taiKhoan);

            if (user == null)
            {
                return(NotFound());
            }
            var model = new UserPasswordChangeViewModel
            {
                TaiKhoan          = user.UserName,
                Ten               = user.Ten,
                MatKhauMoi        = string.Empty,
                XacNhanMatKhauMoi = string.Empty
            };

            return(View(model));
        }