添加RequestUtil工具类,用于获取当前登录用户的信息
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user