springboot版本: springboot2.1.7.RELEASE
@Configuration
@ConditionalOnWebApplication
public class AuthorityConfig implements WebMvcConfigurer {
//public class AuthorityConfig extends WebMvcConfigurationSupport {
//spring.factories 配置的自动扫描WebMvcConfigurationSupport实现类 不加载addInterceptors方法
@Bean
@ConfigurationProperties("jwt.config")
public JwtUtil commonJwtUtil(){
return new JwtUtil();
}
@Bean
public AuthorityInterceptor authInterceptor(){
return new AuthorityInterceptor();
}
@Bean
public SecurityUtils securityUtils(){
return new SecurityUtils();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/**/login");
}
}
将该项目打成公共依赖jar包,引入其他项目,拦截器不生效,DEBUG发现虽然进入AuthorityConfig 类代码,但是没有进入addInterceptors()方法.
修改为实现WebMvcConfigurer 接口方式,添加拦截器生效