public ActionResult ModifyPassword(ModifyPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var userId = User.GetUserId <Guid>();
                var user   = _bLLUser.Fetch(x => x.UserId == userId);
                if (user == null)
                {
                    return(Json(false));
                }
                try
                {
                    //判断原密码是否正确,原密码正确的情况才能修改密码
                    if (user.UserPassword.Equals(HashHelper.GetHashedString(HashType.SHA256, model.OldPassword)))
                    {
                        user.UserPassword = HashHelper.GetHashedString(HashType.SHA256, model.NewPassword);
                        if (_bLLUser.Update(user, u => u.UserPassword) > 0)
                        {
                            OperLogHelper.AddOperLog($"{UserName} 修改密码 {DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}",
                                                     OperLogModule.Account, UserName);

                            Logger.Info($"{UserName} modify password at {DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}");

                            //密码修改成功,需要重新登录
                            HttpContext.SignOutAsync().ConfigureAwait(false);
                            //
                            return(Json(true));
                        }
                    }
                    else
                    {
                        //原密码错误
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                }
            }
            return(Json(false));
        }
示例#2
0
        public ActionResult ModifyPassword(ModifyPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (CurrentUser == null)
                {
                    return(Json(false));
                }
                try
                {
                    //判断原密码是否正确,原密码正确的情况才能修改密码
                    if (CurrentUser.UserPassword.Equals(SecurityHelper.SHA256_Encrypt(model.OldPassword)))
                    {
                        CurrentUser.UserPassword = SecurityHelper.SHA256_Encrypt(model.NewPassword);
                        if (_bLLUser.Update(u => u.UserId == CurrentUser.UserId, u => u.UserPassword, CurrentUser.UserPassword) > 0)
                        {
                            OperLogHelper.AddOperLog($"{Username} 修改密码 {DateTime.Now:yyyy-MM-dd HH:mm:ss}",
                                                     OperLogModule.Account, Username);

                            Logger.Info($"{Username} modify password at {DateTime.Now:yyyy-MM-dd HH:mm:ss}");

                            //密码修改成功,需要重新登录
                            HttpContext.Session.Remove(AuthFormService.AuthCacheKey);
                            HttpContext.SignOutAsync().ConfigureAwait(false);
                            //
                            return(Json(true));
                        }
                    }
                    else
                    {
                        //原密码错误
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                }
            }
            return(Json(false));
        }