rk
昨天 38d111cb6defedff3bf06314ca30d22a01faae22
server/services/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
@@ -25,17 +25,22 @@
    @Override
    public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
        UsernamePasswordToken usernamePasswordToken = (UsernamePasswordToken) token;
        SystemUser queryUserDto = new SystemUser();
        queryUserDto.setUsername(usernamePasswordToken.getUsername());
        queryUserDto.setDeleted(Boolean.FALSE);
        SystemUser systemUser = systemUserService.findOne(queryUserDto);
        if (systemUser == null) {
            return Boolean.FALSE;
        ShiroToken shiroToken = (ShiroToken) token;
        if(!shiroToken.getDdLogin()){
            SystemUser queryUserDto = new SystemUser();
            queryUserDto.setUsername(shiroToken.getUsername());
            queryUserDto.setDeleted(Boolean.FALSE);
            SystemUser systemUser = systemUserService.findOne(queryUserDto);
            if (systemUser == null) {
                return Boolean.FALSE;
            }
            // 加密密码
            String pwd = Utils.Secure.encryptPassword(new String(shiroToken.getPassword()), systemUser.getSalt());
            // 比较密码
            return this.equals(pwd, systemUser.getPassword());
        }else{
            return true;
        }
        // 加密密码
        String pwd = Utils.Secure.encryptPassword(new String(usernamePasswordToken.getPassword()), systemUser.getSalt());
        // 比较密码
        return this.equals(pwd, systemUser.getPassword());
    }
}