【发布时间】:2023-03-08 20:20:01
【问题描述】:
我正在使用 spring security 并且还添加了一个过滤器映射,如下所示。
我的 spring 安全配置是:
<http entry-point-ref="httpAuthenticationEntryPoint">
<intercept-url pattern="/**" method="OPTIONS" access="true"/>
<intercept-url pattern="/**" access="isAuthenticated()"/>
<form-login
authentication-success-handler-ref="authSuccessHandler"
authentication-failure-handler-ref="authFailureHandler"/>
<logout success-handler-ref="httpLogoutSuccessHandler"/>
<custom-filter before="FORM_LOGIN_FILTER" ref="sessionContextFilter" />
</http>
而web-fragment中定义的filter-mapping是:
<filter-mapping>
<filter-name>customFilter</filter-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
问题是,登录/注销请求中没有调用“customFilter”。如果我像下面这样添加 url 模式,那么它就会被调用
<url-pattern>/</url-pattern>
知道为什么没有 url 模式它就不能工作吗?
PS:我无法将“customFilter”与弹簧配置合并,因为弹簧配置可以被覆盖,我不希望他们添加与安全无关的自定义过滤器。
【问题讨论】:
标签: java spring-security