添加RequestUtil工具类,用于获取当前登录用户的信息

This commit is contained in:
caozehui
2025-02-24 09:42:59 +08:00
parent aa97bec67b
commit 633f6e449c

View File

@@ -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<String, Object> 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;
}
}