如何在spring-security中取消保护/ ** URL模式

时间:2011-06-02 14:50:02

标签: java spring jboss spring-security

我正在尝试取消对/ **模式的​​保护,但到目前为止,我的所有尝试都是徒劳的。

这就是我正在做的事情:

<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定义,但我怀疑问题是存在的。

2 个答案:

答案 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" />

仍然没有真正理解为什么您需要完全配置安全性并同时关闭?