【问题标题】:Spring Security custom filter exemptionSpring Security 自定义过滤器豁免
【发布时间】:2014-10-24 03:54:52
【问题描述】:

我有一个弹簧安全,它有这样的配置。

<security:http use-expressions="true" create-session="stateless"
        entry-point-ref="loginAuthenticationEntryPoint">
        <security:custom-filter ref="preAuthFilter" position="PRE_AUTH_FILTER"/>

        <security:intercept-url pattern="/product/test/**" access="permitAll"/>
        <security:intercept-url pattern="/**" access="hasRole('ROLE_USER')"/>       


</security:http>

如果收到的 xml 格式不正确,我的 preAuthFilter 过滤所有请求并引发错误消息,但我希望获得豁免。例如,我想添加另一个具有自己的custom-filter&lt;security:intercept-url /&gt;
或者是否可以有另一个身份验证入口点?然后我将添加我的自定义过滤器。
怎样才能做到这一点?有任何想法吗?
谢谢。

【问题讨论】:

    标签: java spring spring-security


    【解决方案1】:

    没有模式属性的security:http 标记默认为所有 请求。您可以添加另一个security:http,其pattern 属性指向特定的url 模式,并将其声明在您已经拥有的security:http 之上,因为应该首先声明更具体的。在那里,您可以再次为特定 url 配置过滤器。 Spring Security 首先用security:http 中声明的模式检查传入的url。如果不匹配,它会绕过 security:http 中的其余配置并移动到下一个 security:http,实际上是 没有 pattern 属性的那个。

    【讨论】:

    • 所以在我上面的 spring-security 之前我需要声明另一个 security:http 与模式属性?我知道了。我不知道 security:http 中的模式属性。我需要阅读有关弹簧安全性的更多信息。谢谢。
    猜你喜欢
    • 2011-08-23
    • 2014-07-28
    • 2013-07-22
    • 1970-01-01
    • 2011-07-23
    • 2018-05-25
    • 2017-02-02
    • 2016-03-08
    • 1970-01-01
    相关资源
    最近更新 更多