@Configuration public class JwtWebMvcConfigurer implements WebMvcConfigurer { private final RedisTemplateUtil<String, Object> redisManager; private final ThreadPoolTaskExecutor threadPoolTaskExecutor; public JwtWebMvcConfigurer(RedisTemplateUtil<String, Object> redisManager , ThreadPoolTaskExecutor threadPoolTaskExecutor) { this.redisManager = redisManager; this.threadPoolTaskExecutor = threadPoolTaskExecutor; } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new JwtInterceptor(redisManager, threadPoolTaskExecutor)) .addPathPatterns( "/**" ) .excludePathPatterns( "/bg/screen/**", // 大屏接口 "/swagger-ui.html", "/doc.html", "/swaggerLogin", "/login", "/permSet/**", "/configuration/**", "/error", "/webjars/**", "/swagger-resources/**", "/v2/**" ); }解释代码
时间: 2024-02-10 17:32:19 浏览: 168
案例实战-SpringBoot整合Redis实现缓存分页数据查询
这段代码定义了一个名为 `JwtWebMvcConfigurer` 的 `@Configuration` 类,实现了 Spring 的 `WebMvcConfigurer` 接口,用于配置 Spring MVC 的拦截器。其中构造函数注入了两个依赖,分别是 RedisTemplateUtil 和 ThreadPoolTaskExecutor。
`addInterceptors` 方法用于注册一个名为 `JwtInterceptor` 的拦截器,并配置拦截的 URL 路径和排除的 URL 路径。其中:
- `JwtInterceptor` 是自定义的拦截器,用于进行 JWT 的身份验证和权限校验。
- `addPathPatterns` 方法指定需要拦截的 URL 路径,这里使用了通配符 `/**`,表示拦截所有请求。
- `excludePathPatterns` 方法指定不需要拦截的 URL 路径,包括一些静态资源和一些公共接口,如 Swagger 接口、登录接口等。
总之,这段代码的作用是为 Spring MVC 应用程序添加一个 JWT 拦截器,并配置拦截的 URL 路径和排除的 URL 路径,以实现对请求的身份验证和权限校验。
阅读全文