知识库历史文件

This commit is contained in:
2025-12-20 17:12:42 +08:00
parent dfd9bb8b95
commit 62850717eb
59 changed files with 2351 additions and 276 deletions

View File

@@ -84,17 +84,28 @@ public class LoginUtil {
}
/**
* 从请求头获取Token
* 从请求头或Dubbo RpcContext获取Token
*/
public static String getToken() {
// 1. 优先从HTTP请求头获取正常Web请求
HttpServletRequest request = getRequest();
if (request == null) {
return null;
if (request != null) {
String authHeader = request.getHeader(AUTHORIZATION_HEADER);
if (StringUtils.hasText(authHeader) && authHeader.startsWith(BEARER_PREFIX)) {
return authHeader.substring(BEARER_PREFIX.length());
}
}
String authHeader = request.getHeader(AUTHORIZATION_HEADER);
if (StringUtils.hasText(authHeader) && authHeader.startsWith(BEARER_PREFIX)) {
return authHeader.substring(BEARER_PREFIX.length());
// 2. 从Dubbo Provider ThreadLocal获取跨服务调用
try {
Class<?> filterClass = Class.forName("org.xyzh.common.auth.filter.DubboProviderContextFilter");
ThreadLocal<String> tokenHolder = (ThreadLocal<String>) filterClass.getField("TOKEN_HOLDER").get(null);
String token = tokenHolder.get();
if (StringUtils.hasText(token)) {
return token;
}
} catch (Exception e) {
// Dubbo Filter不存在或未加载忽略
}
return null;