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