我在用springbbot+jwt 做token效验的时候,把token放到redis中,直接从redis里取token,但是实际开发的时候发现,redis的操作类对象 无法注入到jwt的拦截器中。
解决代码:
拦截器类
@Configuration
public class WebConfig implements WebMvcConfigurer {
// 将拦截器bean化,主要是需要这个方法
@Bean
public JwtInterceptor jwtInterceptor(){
return new JwtInterceptor();
}
/**
* 添加拦截器 在这里不需要new JwtInterceptor,直接调用即可
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
//拦截路径可自行配置多个 可用 ,分隔开
registry.addInterceptor(jwtInterceptor()).
addPathPatterns("/**");
}
// 跨域配置
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
//设置允许跨域请求的域名
.allowedOrigins("*")
//是否允许证书 不再默认开启
.allowCredentials(true)
//设置允许的方法
.allowedMethods("*");
}
}
JwtInterceptor类中正常注入即可使用