From 14c1af7d5b8f11edfd805d6e836f734948560478 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 25 七月 2023 15:55:37 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/aop/PageProcessAspect.java |   48 ++++++++++++++++++++++++++++++------------------
 1 files changed, 30 insertions(+), 18 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/aop/PageProcessAspect.java b/service-api/src/main/java/com/java110/api/aop/PageProcessAspect.java
index bab1e77..b285b2b 100644
--- a/service-api/src/main/java/com/java110/api/aop/PageProcessAspect.java
+++ b/service-api/src/main/java/com/java110/api/aop/PageProcessAspect.java
@@ -3,9 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.context.IPageData;
 import com.java110.core.context.PageData;
-import com.java110.core.factory.Java110TraceFactory;
 import com.java110.core.log.LoggerFactory;
-import com.java110.dto.trace.TraceAnnotationsDto;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.exception.FilterException;
 import com.java110.utils.util.StringUtil;
@@ -134,7 +132,9 @@
             String headerName = (String) reqHeaderEnum.nextElement();
             headers.put(headerName.toLowerCase(), request.getHeader(headerName));
         }
-        pd = PageData.newInstance().builder(userId, userName, this.getToken(request), reqData, componentCode, componentMethod, url, sessionId, appId, headers);
+        //pd = PageData.newInstance().builder(userId, userName, this.getToken(request), reqData, componentCode, componentMethod, url, sessionId, appId, headers);
+        headers.put("_java110_token",this.getToken(request));
+        pd = PageData.newInstance().builder(userId, userName, "", reqData, componentCode, componentMethod, url, sessionId, appId, headers);
         pd.setMethod(request.getMethod().equals("GET") ? HttpMethod.GET : HttpMethod.POST);
 
         logger.debug("鍒囬潰 鑾峰彇鍒扮殑pd=" + JSONObject.toJSONString(pd));
@@ -181,7 +181,7 @@
             return o;
         } catch (Throwable e) {
             logger.error("鎵ц鏂规硶寮傚父", e);
-            return new ResponseEntity("鍐呴儴寮傚父" + e.getLocalizedMessage(), HttpStatus.BAD_REQUEST);
+            return new ResponseEntity(e.getLocalizedMessage(), HttpStatus.BAD_REQUEST);
         }
     }
 
@@ -194,13 +194,17 @@
      */
     private String getToken(HttpServletRequest request) throws FilterException {
         String token = "";
-        if (request.getCookies() == null || request.getCookies().length == 0) {
-            return token;
-        }
-        for (Cookie cookie : request.getCookies()) {
-            if (CommonConstant.COOKIE_AUTH_TOKEN.equals(cookie.getName())) {
-                token = cookie.getValue();
+        if (request.getCookies() != null && request.getCookies().length > 0) {
+            for (Cookie cookie : request.getCookies()) {
+                if (CommonConstant.COOKIE_AUTH_TOKEN.equals(cookie.getName())) {
+                    token = cookie.getValue();
+                }
             }
+        }
+        String authorization = request.getHeader("Authorization");
+
+        if(StringUtil.isEmpty(token) && !StringUtil.isEmpty(authorization)){
+            token = authorization.substring("Bearer ".length());
         }
         return token;
     }
@@ -214,15 +218,23 @@
      * @throws IOException
      */
     private void writeCookieInfo(IPageData pd, ServletRequestAttributes attributes) throws IOException {
-        // 杩欓噷鐩墠鍙啓鍒扮粍浠剁骇鍒紝濡傛灉闇�瑕� 鍐欐垚鏂规硶绾у埆
-        if (!StringUtil.isNullOrNone(pd.getToken()) && "login".equals(pd.getComponentCode())) {
-            HttpServletResponse response = attributes.getResponse();
-            Cookie cookie = new Cookie(CommonConstant.COOKIE_AUTH_TOKEN, pd.getToken());
-            cookie.setHttpOnly(true);
-            cookie.setPath("/");
-            response.addCookie(cookie);
-            response.flushBuffer();
+        // 杩欓噷鐩墠鍙啓鍒扮粍浠剁骇鍒紝濡傛灉闇�瑕� 鍐欐垚鏂规硶绾у埆 && "login".equals(pd.getComponentCode())
+        //todo 鏈寘鍚玹oken 涓嶅仛澶勭悊
+        if (StringUtil.isNullOrNone(pd.getToken())) {
+            return;
         }
+        HttpServletResponse response = attributes.getResponse();
+
+        //璁瞭oken鍐欏叆鍒癱ookies 涓�
+        Cookie cookie = new Cookie(CommonConstant.COOKIE_AUTH_TOKEN, pd.getToken());
+        cookie.setHttpOnly(true);
+        cookie.setPath("/");
+
+        response.addCookie(cookie);
+        //response.addHeader("Set-Cookie","SameSite=None");
+
+        response.flushBuffer();
+
 
     }
 }

--
Gitblit v1.8.0