k94314517
2025-07-04 50fb58286ed3b718c39a97e0987ee7561a295651
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());
        // 比较密码