我正在使用spring security并添加了一个过滤器映射,如下所示。
我的春季安全配置是:
<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>
网络片段中定义的过滤器映射是:
<filter-mapping>
<filter-name>customFilter</filter-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
问题是,&#34; customFilter&#34;未在登录/注销请求中调用。如果我添加如下所示的url-pattern,那么它被称为
<url-pattern>/</url-pattern>
知道为什么没有url-pattern就无法工作?
PS:我无法合并&#34; customFilter&#34;弹簧配置可以覆盖弹簧配置,我不希望他们添加与安全无关的自定义过滤器。
答案 0 :(得分:0)
根据web.xml部署描述符documentation,C:\Program Files\Git\mingw64\libexec\git-core
元素必须具有<filter-mapping>
或<url-pattern>
元素。你忽略了这就是为什么它不起作用