From 6b2f3024479140bb99a94128062c9ae541e99234 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 09 八月 2024 16:38:15 +0800
Subject: [PATCH] 用户token过滤,增加不过滤的URl

---
 pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java |   54 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java b/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
index bff17e8..a398ef6 100644
--- a/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
+++ b/pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
@@ -25,34 +25,42 @@
 
     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
-        HttpServletRequest request = (HttpServletRequest) servletRequest;
-        HttpServletResponse response = (HttpServletResponse) servletResponse;
-        String token = request.getHeader(Constant.UserTokenKeyInHeader);
-        if(!StringUtils.isNullOrEmpty(token)){
-            UserTokenContext.set(token);
+        HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
+        String requestURI = httpRequest.getRequestURI();
+        // 妫�鏌ヨ姹傛槸鍚︿负闈炶繃婊ら」
+        if (UserTokenNoFilter.urls != null && UserTokenNoFilter.urls.stream().anyMatch(url -> requestURI.startsWith(url))) {
+            // 濡傛灉鏄潪杩囨护椤癸紝鐩存帴璋冪敤涓嬩竴涓繃婊ゅ櫒鎴杝ervlet
             filterChain.doFilter(servletRequest, servletResponse);
-        }else{
-            PrintWriter pw = null ;
-            try {
-                BaseResponse<?> res = BaseResponseUtils.buildToLogin() ;
-                String jsonString = JSON.toJSONString(res);
-                response.setCharacterEncoding("UTF-8");
-                response.setContentType("application/json; charset=utf-8");
-                pw = response.getWriter() ;
-                pw.write(jsonString);
-                pw.flush();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }finally {
-                if(pw != null){
-                    pw.close();
+        } else {
+            // 濡傛灉涓嶆槸闈炶繃婊ら」锛屾墽琛岃繃婊ら�昏緫
+            HttpServletRequest request = (HttpServletRequest) servletRequest;
+            HttpServletResponse response = (HttpServletResponse) servletResponse;
+            String token = request.getHeader(Constant.UserTokenKeyInHeader);
+            if(!StringUtils.isNullOrEmpty(token)){
+                UserTokenContext.set(token);
+                filterChain.doFilter(servletRequest, servletResponse);
+            }else{
+                PrintWriter pw = null ;
+                try {
+                    BaseResponse<?> res = BaseResponseUtils.buildToLogin() ;
+                    String jsonString = JSON.toJSONString(res);
+                    response.setCharacterEncoding("UTF-8");
+                    response.setContentType("application/json; charset=utf-8");
+                    pw = response.getWriter() ;
+                    pw.write(jsonString);
+                    pw.flush();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }finally {
+                    if(pw != null){
+                        pw.close();
+                    }
                 }
+                //request.setAttribute(Constant.ErrorKeyInRequest, "鏈緱鍒扮敤鎴穞oken");
+                //response.sendRedirect("/error");
             }
-            //request.setAttribute(Constant.ErrorKeyInRequest, "鏈緱鍒扮敤鎴穞oken");
-            //response.sendRedirect("/error");
         }
     }
-
     @Override
     public void destroy() {
     }

--
Gitblit v1.8.0