k94314517
2024-03-18 cabe2818d8c4a5b64367b2356a01784553624da5
git ch
已修改3个文件
23 ■■■■■ 文件已修改
server/service/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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()));
        }
    }