java - Spring 安全警告 : Class AuthorityUtils is abstract?

标签 java xml spring configuration spring-security

自从迁移到 Spring Security 3.2.5.RELEASE 和 Spring 4.1.1.RELEASE 后,我们在 Eclipse (Luna) 中收到 Spring Bean Validation 警告。

确切的警告是:

“org.springframework.security.core.authority.AuthorityUtils”类是抽象的

这是这个 Spring 文件的 header :

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:springsecurity="http://www.springframework.org/schema/security"
    xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.1.xsd
        http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">

配置中有问题的部分如下(这意味着如果我删除此部分,错误就会消失。具体来说,如果我删除 springsecurity:authentication-provider 节:

<springsecurity:authentication-manager alias="authenticationManager">
    <springsecurity:authentication-provider>
        <springsecurity:user-service>
            <springsecurity:user name="john" password="john"
                authorities="ROLE_USER" />
            <springsecurity:user name="admin" password="admin"
                authorities="ROLE_USER, ROLE_ADMIN" />
            <springsecurity:user name="guest" password="guest"
                authorities="ROLE_GUEST" />
        </springsecurity:user-service>
    </springsecurity:authentication-provider>
</springsecurity:authentication-manager>

关于这个问题的根本原因有什么想法吗?我们的项目无法忍受虚假警告,我不想禁用 Spring bean 验证。

最佳答案

正如 Luke Taylor 所指出的,这是 Spring Tool Suite 3.6.0 版中的错误。错误报告位于 https://issuetracker.springsource.com/browse/STS-3875 , 在STS 3.6.3版本之前不会修复。您可以在 http://www.docjar.com/html/api/org/springframework/orm/jpa/SharedEntityManagerCreator.java.html 查看此类的代码

[编辑] 错误报告指出此错误现已修复。修复在版本 3.6.4 中

关于java - Spring 安全警告 : Class AuthorityUtils is abstract?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770789/

相关文章:

java - 在Java中嵌入的neo4j中加载csv文件

java - Android 开发新手 : WebView usage

Java - 为什么 Map.put() 覆盖而 Set.add() 不覆盖?

multithreading - 使用spring进行多线程上下文初始化?

java - 将文本字段添加到 JOptionPane

java - Java 应用程序的 XML 配置文件中的 ${some.thing} 是什么

java - 使用 XML 的客户端-服务器通信

xml - 如何指定 XmlAccessorType 用于 JAXB xjc 生成的类

jquery - Spring Security 3.1 - 发生 session 超时时自动重定向到登录页面

java - Hibernate Dao 服务而不是repository.JpaRepository