From 1f41ef2d012b30485851f7b6bc6d09d0b221fc46 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Tue, 5 Aug 2025 20:46:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=8ErequestUtil=E4=B8=AD?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=99=BB=E5=BD=95=E5=90=8D=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8Cby=20accessToken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/constant/SecurityConstants.java | 2 +- .../java/com/njcn/common/utils/JwtUtil.java | 2 +- .../java/com/njcn/web/utils/RequestUtil.java | 35 ++++++++++++++----- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/njcn-common/src/main/java/com/njcn/common/pojo/constant/SecurityConstants.java b/njcn-common/src/main/java/com/njcn/common/pojo/constant/SecurityConstants.java index 0ead68a..28af3d8 100644 --- a/njcn-common/src/main/java/com/njcn/common/pojo/constant/SecurityConstants.java +++ b/njcn-common/src/main/java/com/njcn/common/pojo/constant/SecurityConstants.java @@ -43,7 +43,7 @@ public interface SecurityConstants { * 认证成功后,返回信息包含的内容- */ String USER_ID = "userId"; - String Login_Name = "loginName"; + String LOGIN_NAME = "loginName"; String USER_TYPE = "userType"; String USER_NAME_KEY = "name"; String USER_HEAD_KEY = "headSculpture"; diff --git a/njcn-common/src/main/java/com/njcn/common/utils/JwtUtil.java b/njcn-common/src/main/java/com/njcn/common/utils/JwtUtil.java index a9080a9..f749c12 100644 --- a/njcn-common/src/main/java/com/njcn/common/utils/JwtUtil.java +++ b/njcn-common/src/main/java/com/njcn/common/utils/JwtUtil.java @@ -40,7 +40,7 @@ public class JwtUtil { headers.put("alg", "HS256"); Map payload = new HashMap<>(); payload.put(SecurityConstants.USER_ID, userId); - payload.put(SecurityConstants.Login_Name, loginName); + payload.put(SecurityConstants.LOGIN_NAME, loginName); // 永不过期 payload.put("exp", 4910070710L); payload.put("sub", SUBJECT); diff --git a/njcn-springboot/spingboot2.3.12/src/main/java/com/njcn/web/utils/RequestUtil.java b/njcn-springboot/spingboot2.3.12/src/main/java/com/njcn/web/utils/RequestUtil.java index 0079634..ad94c65 100644 --- a/njcn-springboot/spingboot2.3.12/src/main/java/com/njcn/web/utils/RequestUtil.java +++ b/njcn-springboot/spingboot2.3.12/src/main/java/com/njcn/web/utils/RequestUtil.java @@ -90,6 +90,32 @@ public class RequestUtil { return userId; } + /** + * 获取当前登录用户的ID + * + * @return 若成功,返回当前登录用户的ID;若失败,返回null + */ + public static String getLoginNameByToken() { + String accessToken = getAccessToken(); + String loginName = null; + if (StrUtil.isNotBlank(accessToken)) { + Map map = JwtUtil.parseToken(accessToken); + loginName = (String) map.get(SecurityConstants.LOGIN_NAME); + } + return StrUtil.isBlank(loginName) ? LogInfo.UNKNOWN_USER : loginName; + } + + /** + * 获取用户登录名称 + * 该方法通常用于未登录阶段,无token信息 + */ + public static String getLoginName() { + HttpServletRequest request = HttpServletUtil.getRequest();; + String loginName = (String) request.getAttribute(SecurityConstants.AUTHENTICATE_USERNAME); + return StrUtil.isBlank(loginName) ? LogInfo.UNKNOWN_USER : loginName; + } + + /** * 获取当前登录用户的用户名 * @@ -106,15 +132,6 @@ public class RequestUtil { } - /** - * 获取用户登录名称 - * 该方法通常用于未登录阶段,无token信息 - */ - public static String getLoginName() { - HttpServletRequest request = HttpServletUtil.getRequest();; - String loginName = (String) request.getAttribute(SecurityConstants.AUTHENTICATE_USERNAME); - return StrUtil.isBlank(loginName) ? LogInfo.UNKNOWN_USER : loginName; - } /** * 获取请求体