Spring Security 3.2.0.RC1 - <http>元素和不推荐使用的方法

Joh*_*n29 6 java eclipse spring spring-security spring-tool-suite

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

<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>
Run Code Online (Sandbox Code Playgroud)


根据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>
Run Code Online (Sandbox Code Playgroud)

我也得到"方法'setFilterProcessesUrl'被标记为已弃用"警告,如果我添加,<logout />我第二次得到相同的警告.在另一方面,如果我更换<form-login />,并<logout /><http-basic />警告消失.

Joh*_*n29 2

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