From 9e1c97a6fbb4451f32a85ebbf00f6a64156fccc0 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 23 八月 2024 20:38:08 +0800 Subject: [PATCH] 修改获取token方法 --- se-common/se-common-core/src/main/java/com/se/common/core/utils/StringUtils.java | 18 +++++++++ se-common/se-common-security/src/main/java/com/se/common/security/utils/SecurityUtils.java | 17 +++++++- se-auth/src/main/java/com/se/auth/controller/TokenController.java | 22 +++++++++-- se-common/se-common-core/src/main/java/com/se/common/core/constant/TokenConstants.java | 19 ++++++++- 4 files changed, 67 insertions(+), 9 deletions(-) diff --git a/se-auth/src/main/java/com/se/auth/controller/TokenController.java b/se-auth/src/main/java/com/se/auth/controller/TokenController.java index 843cd7e..7cba290 100644 --- a/se-auth/src/main/java/com/se/auth/controller/TokenController.java +++ b/se-auth/src/main/java/com/se/auth/controller/TokenController.java @@ -6,10 +6,7 @@ import com.se.auth.form.RegisterBody; import com.se.auth.service.SysLoginService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.se.common.core.domain.R; import com.se.common.core.utils.JwtUtils; import com.se.common.core.utils.StringUtils; @@ -41,6 +38,23 @@ return R.ok(tokenService.createToken(userInfo)); } + @GetMapping("validate") + @PostMapping("validate") + public R<Object> validate(HttpServletRequest request) { + try { + boolean flag = false; + String token = SecurityUtils.getToken(request); + if (!StringUtils.isNotEmpty(token)) { + String userName = JwtUtils.getUserName(token); + flag = !StringUtils.isEmpty(userName); + } + + return R.ok(flag); + } catch (Exception ex) { + return R.fail(ex.getMessage()); + } + } + @DeleteMapping("logout") public R<?> logout(HttpServletRequest request) { diff --git a/se-common/se-common-core/src/main/java/com/se/common/core/constant/TokenConstants.java b/se-common/se-common-core/src/main/java/com/se/common/core/constant/TokenConstants.java index 626e5a9..51fa6f1 100644 --- a/se-common/se-common-core/src/main/java/com/se/common/core/constant/TokenConstants.java +++ b/se-common/se-common-core/src/main/java/com/se/common/core/constant/TokenConstants.java @@ -5,8 +5,22 @@ * * @author admin */ -public class TokenConstants -{ +public class TokenConstants { + /** + * 浠ょ墝鏍囪瘑-URL + */ + public static final String TOKEN = "token"; + + /** + * 浠ょ墝鏍囪瘑-URL + */ + public static final String ACCESS_TOKEN = "accessToken"; + + /** + * 浠ょ墝鏍囪瘑-Cookie + */ + public static final String COOKIE_TOKEN = "Admin-Token"; + /** * 浠ょ墝鑷畾涔夋爣璇� */ @@ -21,5 +35,4 @@ * 浠ょ墝绉橀挜 */ public final static String SECRET = "abcdefghijklmnopqrstuvwxyz"; - } 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 71c6dc1..50148dc 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 @@ -8,6 +8,9 @@ import com.se.common.core.text.StrFormatter; import org.springframework.util.AntPathMatcher; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; + /** * 瀛楃涓插伐鍏风被 * @@ -605,4 +608,19 @@ } return sb.toString(); } + + public static String getValueFromCookie(HttpServletRequest request,String key) { + Cookie[] cookies = request.getCookies(); + if (cookies == null || cookies.length == 0) { + return null; + } + + for (Cookie cookie : cookies) { + if (cookie.getName().equals(key)){ + return cookie.getValue(); + } + } + + return null; + } } diff --git a/se-common/se-common-security/src/main/java/com/se/common/security/utils/SecurityUtils.java b/se-common/se-common-security/src/main/java/com/se/common/security/utils/SecurityUtils.java index c5d1a12..dce85f3 100644 --- a/se-common/se-common-security/src/main/java/com/se/common/security/utils/SecurityUtils.java +++ b/se-common/se-common-security/src/main/java/com/se/common/security/utils/SecurityUtils.java @@ -59,10 +59,23 @@ /** * 鏍规嵁request鑾峰彇璇锋眰token */ - public static String getToken(HttpServletRequest request) - { + public static String getToken(HttpServletRequest request) { // 浠巋eader鑾峰彇token鏍囪瘑 String token = request.getHeader(TokenConstants.AUTHENTICATION); + + // 浠巙rl鑾峰彇token鏍囪瘑 + if (StringUtils.isEmpty(token)) { + token = request.getParameter(TokenConstants.ACCESS_TOKEN); + } + if (StringUtils.isEmpty(token)) { + token = request.getParameter(TokenConstants.TOKEN); + } + + // 浠巆ookie鑾峰彇token鏍囪瘑 + if (StringUtils.isEmpty(token)) { + token = StringUtils.getValueFromCookie(request, TokenConstants.COOKIE_TOKEN); + } + return replaceTokenPrefix(token); } -- Gitblit v1.9.3