关于Spring security的 FilterChainProxy 的过滤代理问题

图片说明
如图,我配置了4个代理
pattern = "/**" 配置的encodingFilter 放在最下面则不起作用,放在最上面则下方
的filter不起作用,有哪个大佬能帮忙解释一下吗?

3个回答

这个问题我自己解决了。出现这个问题是org.springframework.security.web.FilterChainProxy自己本身的拦截机制问题
这里配置的拦截匹配顺序是从上往下
然后只执行第一条符合匹配条件的
例如如下配置:
<security:filter-chain pattern="/**" filters="encodingFilter"/>
< security:filter-chain pattern="/**/*.js" filters="printUrlFilter"/ >
<security:filter-chain pattern="/**/*.jsp" filters="printUrlFilter"/>
<security:filter-chain pattern="/**/*.do" filters="printUrlFilter" />
所有URL都与匹配<security:filter-chain pattern="/**" filters="encodingFilter"/>
也就是只会执行这个encodingFilter,且不会去走下面其他parrtern的filters
也就是配置顺序有上往下应该范围从小到大。而且全局配置建议到web.xml配置单独的filter

你的配置url拦截范围太大,需要缩小范围

u011656717
陪葬品 我只是没搞明白这个过滤代理类的拦截机制而已,现在搞明白了。这个不是单纯的范围问题,这个和Web.xml的配置有很大区别,只会走第一条符合情况的security:filter-chain
2 年多之前 回复

这个问题我自己解决了。出现这个问题是org.springframework.security.web.FilterChainProxy自己本身的拦截机制问题
这里配置的拦截匹配顺序是从上往下
然后只执行第一条符合匹配条件的
例如如下配置:




所有URL都与匹配
也就是只会执行这个encodingFilter,且不会去走下面其他parrtern的filters
也就是配置顺序有上往下应该范围从小到大。而且全局配置建议到web.xml配置单独的filter

u011656717
陪葬品 尖括号居然被屏蔽了。。。。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!