Browse Source

过滤器销毁,清除hostHolder

chunping 3 years ago
parent
commit
1c9b72424a

+ 9 - 1
mp-framework/src/main/java/com/qs/mp/framework/security/filter/JwtAuthenticationTokenFilter.java

@@ -21,7 +21,7 @@ import org.springframework.web.filter.OncePerRequestFilter;
 
 /**
  * token过滤器 验证token有效性
- * 
+ *
  * @author ygp
  */
 @Component
@@ -47,7 +47,15 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter
             UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());
             authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
             SecurityContextHolder.getContext().setAuthentication(authenticationToken);
+        } else {
+            hostHolder.setUser(null);
         }
         chain.doFilter(request, response);
     }
+
+    @Override
+    public void destroy() {
+        hostHolder.clear();
+        super.destroy();
+    }
 }