k94314517
2024-05-23 6b0f7aff57bc66733d8488741a71a1ad38fe8d2b
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());
        // 比较密码