Beispiel #1
0
        public IActionResult ResetMyPassword(ResetMyPasswordModel model)
        {
            string msg  = string.Empty;
            bool   flag = false;

            if (model.NewPassword.Length < 6 || model.NewPassword.Length > 16)
            {
                ModelState.AddModelError("newpassword", T["user_password_lengthrange"]);
            }
            if (!model.NewPassword.IsCaseInsensitiveEqual(model.ConfirmPassword))
            {
                ModelState.AddModelError("newpassword", T["user_password_notequal"]);
            }
            var    user     = _userService.FindById(CurrentUser.SystemUserId);
            string password = SecurityHelper.MD5(model.OriginalPassword + user.Salt);

            if (!password.IsCaseInsensitiveEqual(user.Password))
            {
                ModelState.AddModelError("OriginalPassword", T["user_originalpassword_invalid"]);
            }
            if (ModelState.IsValid)
            {
                string newPassword = SecurityHelper.MD5(model.NewPassword + user.Salt);
                bool   result      = _userService.Update(x => x
                                                         .Set(n => n.Password, newPassword)
                                                         .Where(n => n.SystemUserId == CurrentUser.SystemUserId)
                                                         );

                flag = result;
                if (flag)
                {
                    msg = T["updated_success"];
                }
                else
                {
                    msg = T["updated_error"];
                }
                return(JsonResult(flag, msg));
            }
            msg = GetModelErrors(ModelState);
            return(JsonResult(flag, msg));
        }
Beispiel #2
0
        public async Task <ActionResult> ResetMyPassword(ResetMyPasswordModel model)
        {
            if (ModelState.IsValid)
            {
                var    UserId = User.Identity.GetUserId();
                string code   = await UserManager.GeneratePasswordResetTokenAsync(UserId);

                //bool  aa = UserManager.CheckPasswordAsync(UserId, model.OldPassword);
                //var user = UserManager.Find(UserId, model.OldPassword);
                //if(user!=null)
                {
                    var result = await UserManager.ResetPasswordAsync(UserId, code, model.NewPassword);

                    if (result.Succeeded)
                    {
                        return(Content(true.ToString()));
                    }
                }
            }


            return(Content(false.ToString()));
        }
Beispiel #3
0
        public IActionResult ResetMyPassword()
        {
            ResetMyPasswordModel model = new ResetMyPasswordModel();

            return(View(model));
        }