gpt4 book ai didi

spring-security - 为什么我的(Spring Security)servlet 过滤器被调用两次?

转载 作者:行者123 更新时间:2023-12-04 07:07:58 25 4
gpt4 key购买 nike

关于为什么我的 SpringSecurityFilter 子类中的 doFilterHttp 在每个请求中被调用两次的任何想法?我真的不知道从哪里开始寻找。感觉有点难受。

我正在对休假同事的代码进行逆向工程。尽我所能,这是相关的配置:

在 web.xml 中:

<filter>
<filter-name>userSecurityFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>userSecurityFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>userSecurityFilter</filter-name>
<url-pattern>/json/*</url-pattern>

在 spring-security.xml 中:
 <!-- Create the filter chains for developers, users and services -->
<bean id="userSecurityFilter" class="org.springframework.security.util.FilterChainProxy">
<security:filter-chain-map path-type="ant">
<security:filter-chain pattern="/**/json/*" filters="AuthFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor"/>
<security:filter-chain pattern="/**/*.do" filters="AuthFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor"/>
<security:filter-chain pattern="/**" filters="anonymousProcessingFilter,logoutFilter,exceptionTranslationFilter,filterInvocationInterceptor"/>
</security:filter-chain-map>
</bean>

看起来/**/json/* url 正在应用两次过滤器链,而其他人只得到一次。我要回去检查以确保我刚才说的是真的。

最佳答案

好的,我想修好了。

<filter-mapping>
<filter-name>userSecurityFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>userSecurityFilter</filter-name>
<url-pattern>/json/*</url-pattern>

/json/下的网址以“.do”结尾,因此这些网址将所有 Spring Security 内容应用两次。感谢您的回复!尽管这是一个愚蠢的问题并且我自己回答了,但通过回复使我找到了答案。非常感激。

关于spring-security - 为什么我的(Spring Security)servlet 过滤器被调用两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com