多个拦截器之间会有像网关的过滤器链那样的先后顺序吗

来源:7-5 使用线程本地变量存储会员信息

精慕门2276547

2023-12-24

老师,我有两个问题不太明白

1:多个拦截器之间会有像网关的过滤器链那样的先后顺序吗,日志拦截器如果在把用户信息保存到threadlocal中的拦截器之后被spring容器加载,那么保存用户信息的拦截器中的日志的流水号是不是就打印不出来了呢?

2:之前在微服务学习过程中,对于保存用户信息的处理是在网关的过滤器中对filter的

ServerWebExchange exchange
做处理,解析token获得用户信息后为exchange添加关于用户信息的请求头,然后在其他子模块中添加拦截器去获得请求头中的用户信息再保存到threadlocal中,这是不是有点多此一举了,感觉直接在其他子模块中添加拦截器处理token反而还简单些


写回答

1回答

甲蛙

2023-12-26

  1. 有顺序的,在SpringMVCConfig配置类里,加拦截器的顺序

  2. 在gateway里加拦截,是为了校验有没有权限,在应用内部加拦截是为了拿到登录信息,放入线程本地变量,方便后面的流程直接获得登录用户

0
1
精慕门2276547
非常感谢!
2023-12-27
共1条回复

新版Springboot3.0打造能落地的高并发仿12306售票系统

最新版Spring3.0仿12306售票系统实战

852 学习 · 511 问题

查看课程