陪葬品 2017-06-19 02:23 采纳率: 100%
浏览 3266
已采纳

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

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

  • 写回答

3条回答 默认 最新

  • 陪葬品 2017-06-19 06:57
    关注

    这个问题我自己解决了。出现这个问题是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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大