今天在搞jwt的时候,出现一系列的问题。
说明问题。就是用户登录过后,会给用户生成一个token。用户以后发出请求,就需要用户携带这个token。但是用户传过来token的时候,却进不去我的jwt过滤器。这就很苦恼。但是最终还是发现了问题所在,废话不多说,直接上代码
// 基于Token不需要session
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
// 禁用缓存
http.headers().cacheControl();
// 添加JWT过滤器
http.addFilter(new JWTAuthenticationTokenFilter(authenticationManager()));
这一段配置需要配置在继承WebSecurityConfigurerAdapter的一个配置类中
首先我们需要基于Token不需要session,其次 禁用缓存,最终在进行添加JWT过滤器,这个时候用户传的token,才会进入到我们的JWT过滤器中。
注意 JWTAuthenticationTokenFilter这个类的作用是 JWT接口请求校验拦截器
请求接口时会进入这里验证Token是否合法和过期 它需要继承自BasicAuthenticationFilter这个类。
这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上! | |
---|---|
欢迎加入技术群聊