修改代码,使网关配置白名单以后,页面也可以正确展示

This commit is contained in:
孙小云 2026-01-15 17:40:55 +08:00
parent ff2234a5e9
commit 12c7674d53
1 changed files with 19 additions and 1 deletions

View File

@ -49,7 +49,25 @@ public class AuthFilter implements GlobalFilter, Ordered
// 跳过不需要验证的路径
if (StringUtils.matches(url, ignoreWhite.getWhites()))
{
return chain.filter(exchange);
// 白名单路径也尝试解析token并传递用户信息如果有token的话
String token = getToken(request);
if (StringUtils.isNotEmpty(token))
{
Claims claims = JwtUtils.parseToken(token);
if (claims != null)
{
String userkey = JwtUtils.getUserKey(claims);
String userid = JwtUtils.getUserId(claims);
String username = JwtUtils.getUserName(claims);
// 设置用户信息到请求
addHeader(mutate, SecurityConstants.USER_KEY, userkey);
addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid);
addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username);
}
}
// 内部请求来源参数清除
removeHeader(mutate, SecurityConstants.FROM_SOURCE);
return chain.filter(exchange.mutate().request(mutate.build()).build());
}
String token = getToken(request);
if (StringUtils.isEmpty(token))