From 546a657e62d49658e3966f1ad7dd618606f17bdc Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 13 Oct 2021 14:07:43 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bug=2040368=20=E5=BF=98=E8=AE=B0=E5=AF=86?= =?UTF-8?q?=E7=A0=81--=E7=94=A8=E6=88=B7=E5=90=8D=E9=94=99=E8=AF=AF?= =?UTF-8?q?=EF=BC=8C=E6=89=8B=E6=9C=BA=E5=8F=B7=E6=AD=A3=E7=A1=AE=EF=BC=8C?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E5=8F=91=E9=80=81=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/controller/CompanyLoginController.java | 5 +++++ .../modules/system/controller/SysUserController.java | 1 - .../system/service/impl/SysUserServiceImpl.java | 10 +++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index a077ef1d..65ce63d2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -103,6 +103,11 @@ public class CompanyLoginController { //update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false if (Objects.isNull(contactsManagement)) { throw new JeroBootException("用户名或密码错误"); + }else { + if (StringUtils.isBlank(contactsManagement.getPassword())){ + result.setMessage("updatePassword"); + return result; + } } // 若用户名有效,则查询该账号的登陆失败次数是否符合等保要求 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 468b5546..c94c4967 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -868,7 +868,6 @@ public class SysUserController { //@RequiresRoles({"admin"}) @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) public Result changePassword(@RequestBody JSONObject json) { - LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String username = json.getString("username"); String oldPassword = json.getString("oldpassword"); String password = json.getString("password"); diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 68fe382d..d8ec55f6 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -483,6 +483,7 @@ public class SysUserServiceImpl extends ServiceImpl impl public void verificationChangePassword(SysLoginVO loginVO) { fPRuleCheck(loginVO); //前端传入密码解密 + String username = loginVO.getUsername(); String phone = loginVO.getPhone(); String password = loginVO.getPassword(); String verifyPassword = loginVO.getVerifyPassword(); @@ -507,15 +508,18 @@ public class SysUserServiceImpl extends ServiceImpl impl throw new JeroBootException("验证码错误!"); } - if (!password.equals(verifyPassword)) { - throw new JeroBootException("新密码和确认密码不一致,请重新输入"); - } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getPhone, PasswordUtil.encrypt(phone)); + queryWrapper.eq(SysUser::getUsername, username); SysUser sysUser = this.getOne(queryWrapper); if (ObjectUtils.isEmpty(sysUser)) { throw new JeroBootException("用户不存在"); } + + if (!password.equals(verifyPassword)) { + throw new JeroBootException("新密码和确认密码不一致,请重新输入"); + } + String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, sysUser.getSalt()); sysUser.setPassword(passwordEncode); userMapper.forgetPassword(sysUser);