コード例 #1
0
ファイル: UsersController.cs プロジェクト: radtek/XuHos
        public ApiResult ChangePassword([FromBody] RequestUserChangePasswordDTO request)
        {
            userService    = new BLL.User.Implements.UserService();
            request.UserID = CurrentOperatorUserID;
            ApiResult msgResult = userService.ChangePassword(request);

            return(msgResult);
        }
コード例 #2
0
ファイル: UserService.cs プロジェクト: radtek/XuHos
        /// <summary>
        /// 修改密码信息
        /// </summary>
        /// <param name="userModel"></param>
        public ApiResult ChangePassword(RequestUserChangePasswordDTO passwordModel)
        {
            try
            {
                using (DBEntities db = new DBEntities())
                {
                    if (passwordModel.NewPassword != passwordModel.ConfirmPassword.Trim())
                    {
                        return(EnumApiStatus.BizChangePasswordConfirmPasswordError.ToApiResultForApiStatus());
                    }

                    if (passwordModel.NewPassword == passwordModel.OldPassword)
                    {
                        return(EnumApiStatus.BizChangePasswordNewPasswordEqualOld.ToApiResultForApiStatus());
                    }

                    string oldMD5 = StringEncrypt.EncryptWithMD5(passwordModel.OldPassword);
                    string oldSHA = StringEncrypt.EncryptWithSHA(passwordModel.OldPassword);

                    var user = db.Users.Where(t => t.UserID == passwordModel.UserID && (t.Password == oldMD5 || t.Password == oldSHA)).FirstOrDefault();

                    if (user == null)
                    {
                        return(EnumApiStatus.BizChangePasswordOldPasswordError.ToApiResultForApiStatus());
                    }
                    user.Password = StringEncrypt.EncryptWithMD5(passwordModel.NewPassword);
                    if (db.SaveChanges() > 0)
                    {
                        var GetUserIDByMobile_CacheKey = new XuHos.Common.Cache.Keys.EntityCacheKey <ResponseUserDTO>(StringCacheKeyType.User, passwordModel.UserID);
                        GetUserIDByMobile_CacheKey.RemoveCache();

                        return(EnumApiStatus.BizOK.ToApiResultForApiStatus("密码修改成功"));
                    }
                    else
                    {
                        return(EnumApiStatus.BizChangePasswordOldPasswordError.ToApiResultForApiStatus());
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex);
                return(EnumApiStatus.BizError.ToApiResultForApiStatus("修改密码失败"));
            }
        }