说明
目标 : 所有请求都能刷新已登陆的用户的token 存活时间
-
MvcConfig 类实现了 WebMvcConfigurer 接口,用于配置 Spring MVC 的各种设置,包括注册拦截器。
-
拦截顺序:
-
加order()
-
或是照顺序写 也能达到相同效果
-
-
拦所有请求
- 默认就是 .addPathPatterns("/**") 所以其实不加也没差
-
LoginInterceptor 、RefreshTokenInterceptor 类实现了 HandlerInterceptor 接口,通常用于在请求处理之前、之后或在异常发生时进行一些处理。可以在这个类中编写登录验证的逻辑。
-
LoginInterceptor : 只拦截登陆时的路径
-
RefreshTokenInterceptor : 拦截所有请求
- 如果用户登陆后都访问不需要登陆的路径,原拦截器 (LoginInterceptor )就无法刷新token 存活时间,所以增加这个拦截器阻挡所有请求
-
ThreadLocal 存储与当前线程相关的用户信息或上下文数据时。
-
接收一个 UserDTO 对象,dto避免暴露用户敏感信息