增加从requestUtil中获取登录名的方法,by accessToken

This commit is contained in:
2025-08-05 20:46:54 +08:00
parent 75cb5163f1
commit 1f41ef2d01
3 changed files with 28 additions and 11 deletions

View File

@@ -43,7 +43,7 @@ public interface SecurityConstants {
* 认证成功后,返回信息包含的内容- * 认证成功后,返回信息包含的内容-
*/ */
String USER_ID = "userId"; String USER_ID = "userId";
String Login_Name = "loginName"; String LOGIN_NAME = "loginName";
String USER_TYPE = "userType"; String USER_TYPE = "userType";
String USER_NAME_KEY = "name"; String USER_NAME_KEY = "name";
String USER_HEAD_KEY = "headSculpture"; String USER_HEAD_KEY = "headSculpture";

View File

@@ -40,7 +40,7 @@ public class JwtUtil {
headers.put("alg", "HS256"); headers.put("alg", "HS256");
Map<String, Object> payload = new HashMap<>(); Map<String, Object> payload = new HashMap<>();
payload.put(SecurityConstants.USER_ID, userId); payload.put(SecurityConstants.USER_ID, userId);
payload.put(SecurityConstants.Login_Name, loginName); payload.put(SecurityConstants.LOGIN_NAME, loginName);
// 永不过期 // 永不过期
payload.put("exp", 4910070710L); payload.put("exp", 4910070710L);
payload.put("sub", SUBJECT); payload.put("sub", SUBJECT);

View File

@@ -90,6 +90,32 @@ public class RequestUtil {
return userId; return userId;
} }
/**
* 获取当前登录用户的ID
*
* @return 若成功返回当前登录用户的ID若失败返回null
*/
public static String getLoginNameByToken() {
String accessToken = getAccessToken();
String loginName = null;
if (StrUtil.isNotBlank(accessToken)) {
Map<String, Object> 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;
}
/** /**
* 获取请求体 * 获取请求体