springboot版本过滤器顺序问题

来源:1-1 课前必读(不看会错过一个亿)

慕尼黑7546459

2019-05-20

老师,这两个过滤器,直接使用老师的代码启动的话, AclControlFilter会被先执行,然后AclControlFilter53行从threadLocal中拿user, 此时是空的,然后这个过滤器无法退出,出现死循环的现象。

问题1: 这两个方法我调换了下位置, 就可以了。但其实,这是声明两个bean, 按理说代码的位置是不影响执行顺序的, 是不是因为没有制定优先级,才导致的啊?

问题2: 为什么对loginFilter加@Primary没生效?
图片描述
图片描述
图片描述

写回答

1回答

Jimin

2019-05-20

你好,先说死循环的问题,你在aclControlFilter里配置一下白名单就可以了,把无权限访问的请求排除不做拦截就可以了,我提供的springboot版本只是给出例子如何从springmvc迁移过去,这方面你学习过课程视频,课程视频里刻意介绍过,要排除一些无需拦截的url,否则就会无限跳转拦截。
filter是可以指定顺序的,filter对象类有个setOrder方法,设置的值越小,越会优先加载,在实例化filter时加上就ok了。

0
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程