2
0

fix: 修复omada上云问题

This commit is contained in:
caiyuchao
2025-01-20 11:39:58 +08:00
parent 6c10050fe7
commit d17153ed50
10 changed files with 40 additions and 17 deletions

View File

@@ -21,6 +21,8 @@ import org.wfc.gateway.config.properties.IgnoreWhiteProperties;
import io.jsonwebtoken.Claims;
import reactor.core.publisher.Mono;
import java.util.Arrays;
/**
* 网关鉴权
*
@@ -38,6 +40,8 @@ public class AuthFilter implements GlobalFilter, Ordered
@Autowired
private RedisService redisService;
private static final String[] feignOmadaUrls = {"system/dashboard/overview", "system/dashboard/page", "schedule/job/run", "system/client/list"};
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
@@ -83,6 +87,10 @@ public class AuthFilter implements GlobalFilter, Ordered
addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid);
addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username);
addHeader(mutate, SecurityConstants.DETAILS_PLATFORM, platform);
// feign omada api 调用处理
if (Arrays.stream(feignOmadaUrls).anyMatch(url::contains)) {
removeHeader(mutate, SecurityConstants.AUTHORIZATION_HEADER);
}
// 内部请求来源参数清除
removeHeader(mutate, SecurityConstants.FROM_SOURCE);
return chain.filter(exchange.mutate().request(mutate.build()).build());