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了。00
相似问题