|
@@ -72,25 +72,26 @@ public class GlobalGatewayFilter implements GlobalFilter {
|
|
|
@SuppressWarnings("unchecked")
|
|
|
public Mono<Void> filter(ServerWebExchange serverWebExchange, GatewayFilterChain gatewayFilterChain) {
|
|
|
log.info("check token and url permission....");
|
|
|
- LinkedHashSet requiredAttribute
|
|
|
- = serverWebExchange.getRequiredAttribute(ServerWebExchangeUtils.GATEWAY_ORIGINAL_REQUEST_URL_ATTR);
|
|
|
- ServerHttpRequest request = serverWebExchange.getRequest();
|
|
|
- String requestUri = request.getPath().pathWithinApplication().value();
|
|
|
- String serviceName = "";
|
|
|
- if (requiredAttribute != null) {
|
|
|
- Iterator<URI> iterator = requiredAttribute.iterator();
|
|
|
- while (iterator.hasNext()) {
|
|
|
- URI next = iterator.next();
|
|
|
- if (next.getPath().startsWith(GATE_WAY_PREFIX)) {
|
|
|
- requestUri = next.getPath().substring(GATE_WAY_PREFIX.length());
|
|
|
- serviceName = requestUri.substring(requestUri.indexOf('/') + 1,
|
|
|
- requestUri.indexOf('/', 2));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
//网关验证产品线接口权限
|
|
|
if (gatewayValid) {
|
|
|
+ LinkedHashSet requiredAttribute
|
|
|
+ = serverWebExchange.getRequiredAttribute(ServerWebExchangeUtils.GATEWAY_ORIGINAL_REQUEST_URL_ATTR);
|
|
|
+ ServerHttpRequest request = serverWebExchange.getRequest();
|
|
|
+ String requestUri = request.getPath().pathWithinApplication().value();
|
|
|
+ String serviceName = "";
|
|
|
+ if (requiredAttribute != null) {
|
|
|
+ Iterator<URI> iterator = requiredAttribute.iterator();
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ URI next = iterator.next();
|
|
|
+ if (next.getPath().startsWith(GATE_WAY_PREFIX)) {
|
|
|
+ requestUri = next.getPath().substring(GATE_WAY_PREFIX.length());
|
|
|
+ serviceName = requestUri.substring(requestUri.indexOf('/') + 1,
|
|
|
+ requestUri.indexOf('/', 2));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
ServiceFilterDTO serviceFilterDTO = new ServiceFilterDTO();
|
|
|
try {
|
|
|
serviceFilterDTO = serviceFilterFacade.getServiceFilter();
|
|
@@ -102,7 +103,7 @@ public class GlobalGatewayFilter implements GlobalFilter {
|
|
|
}
|
|
|
if (serviceFilterDTO.getApiMap().contains(serviceName)) {
|
|
|
String productIdStr = request.getHeaders().getFirst("productId");
|
|
|
- if (StringUtil.isNotBlank(productIdStr)) {
|
|
|
+ if (StringUtil.isBlank(productIdStr)) {
|
|
|
RespDTO respDTO = new RespDTO();
|
|
|
respDTO.code = CommonErrorCode.PARAM_IS_NULL.getCode();
|
|
|
respDTO.msg = "请传入产品ID";
|
|
@@ -166,8 +167,6 @@ public class GlobalGatewayFilter implements GlobalFilter {
|
|
|
}
|
|
|
|
|
|
ServerHttpRequest.Builder builder = serverWebExchange.getRequest().mutate();
|
|
|
- // builder.header("Authorization", "Authorization Bearer token");
|
|
|
- // gatewayFilterChain.filter(serverWebExchange.mutate().request(builder.build()).build());
|
|
|
return gatewayFilterChain.filter(serverWebExchange.mutate().request(builder.build()).build());
|
|
|
}
|
|
|
|