今天刚刚开始研究了下spring security ,遇到一个问题:
我在 beans.xml如下配置:
<security:http auto-config="true">
<!-- login-page -->
<security:form-login login-page="/login.jsp"/>
<!-- 对登录页面不进行拦截, 后面的*主要是请求页面可能会带有一些参数-->
<security:intercept-url pattern="/login.jsp*" filters="none"/>
<security:intercept-url pattern="/**" access ="ROLE_USER"/>
</security:http>
系统报错如下:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: The use of "filters='none'" is no longer supported. Please define a separate <http> element for the pattern you want to exclude and
use the attribute "security='none'".
Offending resource: class path resource [applicationContext.xml]
后来在网上查资料:
3.1不再支持 filters="none" 应该改成:
<security:http pattern="/login.jsp*" security="none"/>
<security:http auto-config="true">
<!-- login-page -->
<security:form-login login-page="/login.jsp"/>
<!-- 对登录页面不进行拦截, 后面的*主要是请求页面可能会带有一些参数-->
<security:intercept-url pattern="/**" access ="ROLE_USER"/>
</security:http>
就没问题了。
本文介绍了Spring Security中配置登录页面及排除特定URL的方法。针对3.1版本中不再支持的'filters='none''属性,提供了正确的配置示例,帮助读者解决配置过程中遇到的问题。

348

被折叠的 条评论
为什么被折叠?



