我在用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類中正常注入即可使用