说明

目标 : 所有请求都能刷新已登陆的用户的token 存活时间

  1. MvcConfig 类实现了 WebMvcConfigurer 接口,用于配置 Spring MVC 的各种设置,包括注册拦截器。

  2. 拦截顺序:

    • 加order()

    • 或是照顺序写 也能达到相同效果

  3. 拦所有请求

    • 默认就是 .addPathPatterns("/**") 所以其实不加也没差
  4. LoginInterceptor 、RefreshTokenInterceptor 类实现了 HandlerInterceptor 接口,通常用于在请求处理之前、之后或在异常发生时进行一些处理。可以在这个类中编写登录验证的逻辑。

  5. LoginInterceptor : 只拦截登陆时的路径

  6. RefreshTokenInterceptor : 拦截所有请求

    • 如果用户登陆后都访问不需要登陆的路径,原拦截器 (LoginInterceptor )就无法刷新token 存活时间,所以增加这个拦截器阻挡所有请求
  7. ThreadLocal 存储与当前线程相关的用户信息或上下文数据时。

  8. 接收一个 UserDTO 对象,dto避免暴露用户敏感信息