升级到Spring Security 3.2.0.RC1后,我的xml配置中的<http auto-config="true">
收到警告“方法'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 documentation 不推荐使用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 />
,警告就会消失。
答案 0 :(得分:2)
如果您正在使用命名空间,那么像这样的IDE错误并不重要,因为您可以保证Spring Security将支持该功能。你自己并没有真正使用这种方法。
auto-config
一般来说是一个坏主意。看着那个配置的人不会轻易知道它实际上做了什么。例如,您真的想要基本身份验证吗?您最好删除auto-config
并明确添加所需的功能。
答案 1 :(得分:2)
已在Spring Security 3.2.1中修复。警告是由使用不推荐使用的方法的XML命名空间引起的。 https://jira.springsource.org/browse/SEC-2455