server/service/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
@@ -26,15 +26,21 @@ public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { ShiroToken usernamePasswordToken = (ShiroToken) token; SystemUser queryUserDto = new SystemUser(); queryUserDto.setUsername(usernamePasswordToken.getUsername()); queryUserDto.setDeleted(Boolean.FALSE); if(!usernamePasswordToken.isNeedPassword()){ queryUserDto.setMobile(usernamePasswordToken.getUsername()); SystemUser systemUser = systemUserService.findOne(queryUserDto); if (systemUser == null) { return Boolean.FALSE; } return Boolean.TRUE; } queryUserDto.setUsername(usernamePasswordToken.getUsername()); SystemUser systemUser = systemUserService.findOne(queryUserDto); if (systemUser == null) { return Boolean.FALSE; } if(!usernamePasswordToken.isNeedPassword()){ return Boolean.TRUE; } // 加密密码 String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt()); // 比较密码 server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java
@@ -34,6 +34,7 @@ private String sex; private String mobile; private String openid; private Integer companyId; private Integer areaId; private Integer cityId; server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -90,9 +90,11 @@ @Override public void cleaOpenid(){ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda() .set(SystemUser::getOpenid,null) .eq(SystemUser::getId,loginUserInfo.getId())); if(StringUtils.isNotBlank(loginUserInfo.getOpenid())){ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda() .set(SystemUser::getOpenid,null) .eq(SystemUser::getId,loginUserInfo.getId())); } }