添加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