我刚开始研究Spring安全性。我正在阅读Spring Security参考指南。这里写的是
使用filters =“none”通过在其中创建空过滤器链来运行 Spring Security的FilterChainProxy,而访问属性是 用于在单个过滤器中配置FilterSecurityInterceptor 由命名空间配置创建的链。这两个是 独立应用,所以如果你有一个访问限制 具有filters =“none”属性的模式的子模式 访问约束将被忽略,即使它首先列出。它 无法对模式应用filters =“none”属性/ ** 因为命名空间过滤器链使用它。在3.1版中 事情更灵活。您可以定义多个过滤器链和 不再支持filters属性。
有人可以从参考文档中详细说明这个说明吗?
答案 0 :(得分:2)
在春季3.1之前,假设yopu想要允许访问特定网址/模式,即您不希望在其上应用Spring安全性,您可以添加
<sec:intercept-url pattern="/nonsecure/**" filters="none" />
这里filters = none创建一个空的安全过滤器链,因此Spring资源不会保护此资源。
即使您添加了access属性以及filters =“none”,它也会被igonred。
对于弹簧3.1及更高版本,您可以定义多个过滤器链,如
<security:http pattern="/nonsecure/**" security="none"/>
<security:http pattern="/secure/**" >
....other security config
</security:http>