From 5dce53514609405ad28bad0625c25ad7f2f25cd8 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 29 八月 2024 16:56:43 +0800 Subject: [PATCH] 11 --- se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java | 21 +++++++++++++++++++++ se-gateway/src/main/java/com/se/gateway/filter/AuthFilter.java | 17 ++++++++++------- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java b/se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java index 50148dc..3750592 100644 --- a/se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java +++ b/se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java @@ -6,7 +6,11 @@ import com.se.common.core.constant.Constants; import com.se.common.core.text.StrFormatter; +import org.springframework.http.HttpCookie; +import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.util.AntPathMatcher; +import org.springframework.util.CollectionUtils; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; @@ -609,6 +613,23 @@ return sb.toString(); } + public static String getValueFromCookie(ServerHttpRequest request, String key) { + MultiValueMap<String, HttpCookie> cookies = request.getCookies(); + if (CollectionUtils.isEmpty(cookies)) { + return null; + } + + for (Map.Entry<String, List<HttpCookie>> itemList : cookies.entrySet()) { + for (HttpCookie cookie :itemList.getValue()) { + if (cookie.getName().equals(key)){ + return cookie.getValue(); + } + } + } + + return null; + } + public static String getValueFromCookie(HttpServletRequest request,String key) { Cookie[] cookies = request.getCookies(); if (cookies == null || cookies.length == 0) { diff --git a/se-gateway/src/main/java/com/se/gateway/filter/AuthFilter.java b/se-gateway/src/main/java/com/se/gateway/filter/AuthFilter.java index e147b1d..ca521c2 100644 --- a/se-gateway/src/main/java/com/se/gateway/filter/AuthFilter.java +++ b/se-gateway/src/main/java/com/se/gateway/filter/AuthFilter.java @@ -21,8 +21,6 @@ import io.jsonwebtoken.Claims; import reactor.core.publisher.Mono; -import javax.servlet.http.HttpServletRequest; - /** * 缃戝叧閴存潈 * @@ -106,19 +104,24 @@ /** * 鑾峰彇璇锋眰token */ - private String getToken(ServerHttpRequest req) { - HttpServletRequest request = (HttpServletRequest) req; + private String getToken(ServerHttpRequest request) { // 浠巋eader鑾峰彇token鏍囪瘑 - String token = request.getHeader(TokenConstants.AUTHENTICATION); + String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION); // 浠巙rl鑾峰彇token鏍囪瘑 if (StringUtils.isEmpty(token)) { - token = request.getParameter(TokenConstants.ACCESS_TOKEN); + token = request.getQueryParams().getFirst(TokenConstants.ACCESS_TOKEN); } if (StringUtils.isEmpty(token)) { - token = request.getParameter(TokenConstants.TOKEN); + token = request.getQueryParams().getFirst(TokenConstants.TOKEN); } + // 浠巆ookie鑾峰彇token鏍囪瘑 + if (StringUtils.isEmpty(token)) { + token = StringUtils.getValueFromCookie(request, TokenConstants.COOKIE_TOKEN); + } + + //String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION); // 濡傛灉鍓嶇璁剧疆浜嗕护鐗屽墠缂�锛屽垯瑁佸壀鎺夊墠缂� if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) { token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY); -- Gitblit v1.9.3