【发布时间】:2013-09-05 07:34:21
【问题描述】:
升级到 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 />,我第二次收到相同的警告。
另一方面,如果我用<http-basic /> 替换<form-login /> 和<logout />,警告就会消失。
【问题讨论】:
-
与 Spring Security 3.2.0.RC2 相同的问题。我真的不明白,他们为什么要弃用他们自己的命名空间仍在使用的方法?目前唯一的解决方案似乎是回滚到 3.2.0.M2。
标签: java eclipse spring spring-security spring-tool-suite