/// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public IDataShell <AccountModel> ModifyPassword(ModifyPasswordReq req)
        {
            string funcUrl = "/api/UserAccount/ModifyPassword";
            var    res     = bridge.CallApi <ModifyPasswordReq, DataShell <AccountModel> >(funcUrl, req);

            return(res);
        }
Exemple #2
0
        // Token: 0x0600038F RID: 911 RVA: 0x000078DC File Offset: 0x00005ADC
        public SDKCommonResp ModifyPassword(ModifyPasswordReq req)
        {
            SDKCommonResp sdkcommonResp = new SDKCommonResp();
            string        text          = RestClientUtil.sendRequest("POST", "/service/users/password/modify", req, this.bean, "ModifyPassword");

            UserResource.log.Info("ModifyPassword result : " + text);
            return(JsonConvert.DeserializeObject <SDKCommonResp>(text));
        }
Exemple #3
0
 public IActionResult ResetPassword([FromBody] ModifyPasswordReq modifyPassword)
 {
     try
     {
         var reply = Client.ResetPassword(modifyPassword);
         return(Json(new JsonResultModel(ReturnCode.Success, "User password reset successful.")));
     }
     catch (RpcException ex)
     {
         return(Json(new JsonResultModel(ReturnCode.SubmitError, ex.Status.Detail)));
     }
 }
        public IDataShell <AccountModel> ModifyPassword(ModifyPasswordReq req)
        {
            var res = _userBll.ModifyPassword(req);

            return(res);
        }
Exemple #5
0
        /// <summary>
        /// 更新密码
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public IDataShell <AccountModel> ModifyPassword(ModifyPasswordReq req)
        {
            #region --早期验证--
            // 这是一个数据验证扩展的样例
            Dictionary <string, Func <bool> > check = new Dictionary <string, Func <bool> >()
            {
                ["旧密码为空"]      = () => req.OldPassword.NullEmpty(),
                ["新密码两次输入不一致"] = () => req.NewPassword != req.NewPassword2,
            };
            foreach (var c in check.CheckerYield())
            {
                if (c.haveerror)
                {
                    return(c.info.Fail <AccountModel>());
                }
            }
            #endregion

            #region --提取用户信息--
            AccountModel user = new AccountModel()
            {
                Account   = req.Account,
                Email     = req.Email,
                Mobile    = req.Mobile,
                AccountID = req.AccountID
            };
            IDataShell <AccountDBModel> tempuser = new DataShell <AccountDBModel>();
            switch (user)
            {
            case AccountModel u when user.Account.NotNullEmpty():
                tempuser = _userDAL.GetByAccount(user);

                break;

            case AccountModel u when user.Email.NotNullEmpty():
                tempuser = _userDAL.GetByEmail(user);

                break;

            case AccountModel u when user.Mobile.NotNullEmpty():
                tempuser = _userDAL.GetByMobile(user);

                break;

            case AccountModel u when user.AccountID.NotNullEmpty():
                tempuser = _userDAL.GetByAccountID(user);

                break;

            default:
                throw new Exception("没有找到匹配的用户");
            }
            tempuser = _userDAL.GetByEmail(user);
            if (tempuser.Failure)
            {
                return(tempuser.ToNewShell <AccountDBModel, AccountModel>());
            }
            #endregion

            #region --密码核验--
            var srcuser   = tempuser.Data;
            var verifyRes = PasswordVerify(srcuser.Password, req.OldPassword);
            if (verifyRes.Failure)
            {
                return(verifyRes.Info.Fail <AccountModel>());
            }
            #endregion

            #region --更新密码--
            user.Password = CommonLib.AccountPassword(req.NewPassword); //散列加密
            var up_res = _userDAL.UpdateModifyPassword(user);           //更新密码
            up_res.Data.Password = "";                                  //移除敏感数据
            var res = up_res.ToNewShell <AccountDBModel, AccountModel>();
            #endregion

            return(res);
        }
Exemple #6
0
 public IDataShell <IAccountData> ModifyPassword(ModifyPasswordReq req)
 {
     throw new NotImplementedException();
 }