我正在尝试取消对/ **模式的保护,但到目前为止,我的所有尝试都是徒劳的。
这就是我正在做的事情:
<security:intercept-url pattern="/**" filters="none" />
我的配置不再包含intercept-url
个定义。
但是,在访问任何URL后,我仍然会被重定向到默认入口点...
我调试了spring安全源,我实际上可以看到为我正在尝试访问的URL加载的过滤器。 (FilterChainProxy
行:154,filters
列表已满)
对于为什么会发生这种情况以及如何取消保护/ **的任何见解都将非常感激。
我正在使用3.0.5.RELEASE
编辑:
安全配置:
<security:http auto-config="false" use-expressions="true" entry-point-ref="loginUrlAuthenticationEntryPoint">
<!-- dev --><security:intercept-url pattern="/**" filters="none" />
<security:custom-filter position="FORM_LOGIN_FILTER" ref="absoluteUrlSsoFilter" />
</security:http>
<security:authentication-manager>
<security:authentication-provider user-service-ref="ssoDetailsService" />
</security:authentication-manager>
这是相关部分,我也可以给你bean定义,但我怀疑问题是存在的。
答案 0 :(得分:2)
至少在grails中,您可以将安全设置设置为IS_AUTHENTICATED_ANONYMOUSLY。由于grails spring安全插件基于spring安全性,我敢打赌这会起作用。
无需使用过滤器或任何东西。
答案 1 :(得分:0)
如果您想首先完全关闭,为什么要配置Spring Security?
如果您在开发模式下关闭它,为什么不将它放在单独的XML中,而不是在id dev模式下加载这个单个文件并在web.xml中注释springSecurityFilterChain
? (第二个可以使用Maven资源处理)。
或者在/**
匹配器之前尝试一些虚拟条目:
<security:intercept-url pattern="/dummy" access="IS_AUTHENTICATED_FULLY" />
<security:intercept-url pattern="/**" filters="none" />
仍然没有真正理解为什么您需要完全配置安全性并同时关闭?