From d1553dc43f9bbdb95db7cbe8760b40e2986d1d4d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 29 九月 2022 17:47:08 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/WebHelper.java |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 105 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/WebHelper.java b/src/main/java/com/lf/server/helper/WebHelper.java
index d2f9ae9..a49924e 100644
--- a/src/main/java/com/lf/server/helper/WebHelper.java
+++ b/src/main/java/com/lf/server/helper/WebHelper.java
@@ -1,11 +1,12 @@
 package com.lf.server.helper;
 
-import org.springframework.context.annotation.Configuration;
+import com.lf.server.entity.all.StaticData;
 
+import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.sql.Timestamp;
 import java.util.Calendar;
-import java.util.Date;
 import java.util.UUID;
 
 /**
@@ -17,10 +18,10 @@
 
     private final static String COMMA = ",";
 
+    /**
+     * 鑾峰彇GUID
+     */
     public static String getGuid() {
-        /**
-         * 鑾峰彇GUID
-         */
         return UUID.randomUUID().toString();
     }
 
@@ -91,4 +92,103 @@
 
         return new Timestamp(now.getTimeInMillis());
     }
+
+    /**
+     * 浠嶤ookie涓幏鍙杢oken
+     *
+     * @param request
+     * @return
+     */
+    public static String getTokenFromCookie(HttpServletRequest request) {
+        Cookie[] cookies = request.getCookies();
+        if (cookies == null || cookies.length == 0) {
+            return null;
+        }
+
+        for (Cookie cookie : cookies) {
+            switch (cookie.getName()) {
+                case StaticData.TOKEN_COOKIE_KEY:
+                    return cookie.getValue();
+                default:
+                    break;
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * 鍚慍ookie涓坊鍔爐oken
+     *
+     * @param token
+     * @param request
+     * @param response
+     */
+    public static void saveToken2Cookie(String token, HttpServletRequest request, HttpServletResponse response) {
+        // 鍏堝垹闄�
+        deleteCookie(StaticData.TOKEN_COOKIE_KEY, request);
+
+        // 鍐嶄繚瀛�
+        saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response);
+    }
+
+    /**
+     * 淇濆瓨Cookie
+     *
+     * @param cookieKey
+     * @param value
+     * @param response
+     */
+    public static void saveCookie(String cookieKey, String value, HttpServletResponse response) {
+        Cookie cookie = new Cookie(cookieKey, value);
+        // 璁剧疆cookie澶辨晥鏃堕棿锛屽崟浣嶄负绉�
+        cookie.setMaxAge(240 * 60);
+        cookie.setHttpOnly(false);
+        cookie.setPath("/");
+        // cookie.setDomain("")
+
+        response.setHeader("P3P", "CP=CAO PSA OUR");
+        response.addCookie(cookie);
+    }
+
+    /**
+     * 鍒犻櫎cookie涓殑鍊�
+     *
+     * @param cookieKey
+     * @param request
+     */
+    public static void deleteCookie(String cookieKey, HttpServletRequest request) {
+        Cookie[] cookies = request.getCookies();
+        if (cookies != null && cookies.length > 0) {
+            for (Cookie c : cookies) {
+                if (cookieKey.equalsIgnoreCase(c.getName())) {
+                    c.setMaxAge(0);
+                    break;
+                }
+            }
+        }
+    }
+
+    /**
+     * 鑾峰彇Token
+     *
+     * @param request
+     * @return
+     */
+    public static String getToken(HttpServletRequest request) {
+        // 1.浠巙rl鍙傛暟涓紝鑾峰彇token
+        String token = request.getParameter(StaticData.TOKEN_KEY);
+
+        // 2.涓虹┖锛屽垯浠巋eader閲岃幏鍙�
+        if (token == null) {
+            token = request.getHeader(StaticData.TOKEN_KEY);
+        }
+
+        // 3.杩樹负绌猴紝鍒欎粠cookie閲岃幏鍙�
+        if (token == null) {
+            token = getTokenFromCookie(request);
+        }
+
+        return token;
+    }
 }

--
Gitblit v1.9.3