fix: 修复omada上云问题
This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user