6

<http auto-config="true">升级到 Spring Security 3.2.0.RC1 后,我在我的 xml 配置中收到警告“方法'setFilterProcessesUrl'被标记为已弃用” 。即使对于非常简单的配置,我也会收到此警告:

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/security
    http://www.springframework.org/schema/security/spring-security.xsd">

    <http auto-config="true">
        <intercept-url pattern="/myurl*" access="ROLE_USER" />
    </http>

    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="user1" password="12345" authorities="ROLE_USER" />
            </user-service>
        </authentication-provider>
    </authentication-manager>

</beans:beans>


根据 Spring Security 3.2 API 文档 ,不推荐使用setFilterProcessesUrl ,而应使用setRequiresAuthenticationRequestMatcher(RequestMatcher) 。如何更改此基本 XML 配置,使其不使用已弃用的方法?我正在使用带有 Spring Tool Suite 插件的 Eclipse Kepler。

更新:

如果我删除<http auto-config="true">并添加<form-login />到 http 元素

<http>
    <intercept-url pattern="/myurl*" access="ROLE_USER" />
    <form-login />
</http>

我还收到“方法'setFilterProcessesUrl'被标记为已弃用”警告,如果我添加<logout />我第二次收到相同的警告。另一方面,如果我替换<form-login /><logout />使用<http-basic />警告消失。

4

2 回答 2

3

如果您使用命名空间,那么像这样的 IDE 错误并不重要,因为您可以保证 Spring Security 将支持该功能。您实际上并没有自己使用该方法。

auto-config通常是一个坏主意。查看该配置的人不会轻易知道它的实际作用。例如,您真的想要基本身份验证吗?您最好删除auto-config并明确添加您想要的功能。

于 2013-09-03T12:26:57.993 回答
2

在 Spring Security 3.2.1 中修复。警告是由使用不推荐使用的方法的 XML 命名空间引起的。 https://jira.springsource.org/browse/SEC-2455

于 2014-02-20T10:09:32.930 回答