From 633f6e449c8d342ff7cc16f2af5a16d206cc2e07 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Mon, 24 Feb 2025 09:42:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0RequestUtil=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E7=94=A8=E4=BA=8E=E8=8E=B7=E5=8F=96=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E7=9A=84=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/njcn/web/utils/RequestUtil.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 njcn-springboot/spingboot2.3.12/src/main/java/com/njcn/web/utils/RequestUtil.java 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 new file mode 100644 index 0000000..9200ee9 --- /dev/null +++ b/njcn-springboot/spingboot2.3.12/src/main/java/com/njcn/web/utils/RequestUtil.java @@ -0,0 +1,61 @@ +package com.njcn.web.utils; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.spring.SpringUtil; +import com.njcn.common.bean.CustomCacheUtil; +import com.njcn.common.pojo.constant.SecurityConstants; +import com.njcn.common.utils.JwtUtil; +import org.apache.logging.log4j.util.Strings; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +/** + * @author caozehui + * @data 2025-02-24 + */ +public class RequestUtil { + /** + * 获取当前请求的AccessToken + * + * @return 若成功,返回当前请求的AccessToken;若失败,返回null + */ + public static String getAccessToken() { + HttpServletRequest request = HttpServletUtil.getRequest(); + String accessTokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY); + String accessToken = null; + if (StrUtil.isNotBlank(accessTokenStr)) { + accessToken = accessTokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); + } + return accessToken; + } + + /** + * 获取当前登录用户的ID + * + * @return 若成功,返回当前登录用户的ID;若失败,返回null + */ + public static String getUserId() { + String accessToken = getAccessToken(); + String userId = null; + if (StrUtil.isNotBlank(accessToken)) { + Map map = JwtUtil.parseToken(accessToken); + userId = (String) map.get(SecurityConstants.USER_ID); + } + return userId; + } + + /** + * 从缓冲中获取当前登录用户的JSON格式的用户信息 + * @return 若成功,返回当前登录用户的JSON格式的用户信息;若失败,返回null + */ + public static String getUserJson(){ + String accessToken = getAccessToken(); + String userJson = null; + if (StrUtil.isNotBlank(accessToken)) { + CustomCacheUtil customCacheUtil = SpringUtil.getBean(CustomCacheUtil.CACHE_NAME); + userJson = customCacheUtil.get(accessToken,false); + } + return userJson; + } +}