diff --git a/inspect-common/inspect-common-security/src/main/java/com/inspect/common/security/handler/GlobalExceptionHandler.java b/inspect-common/inspect-common-security/src/main/java/com/inspect/common/security/handler/GlobalExceptionHandler.java index 4f09379..4cfe467 100644 --- a/inspect-common/inspect-common-security/src/main/java/com/inspect/common/security/handler/GlobalExceptionHandler.java +++ b/inspect-common/inspect-common-security/src/main/java/com/inspect/common/security/handler/GlobalExceptionHandler.java @@ -58,6 +58,7 @@ public class GlobalExceptionHandler { public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); String errStr = String.format("URI[{%s}] Unknown Exception:{%s}", requestURI, e.getMessage()); + e.printStackTrace(); log.error(errStr); return AjaxResult.error(errStr); } diff --git a/inspect-gateway/src/main/java/com/inspect/gateway/filter/AuthFilter.java b/inspect-gateway/src/main/java/com/inspect/gateway/filter/AuthFilter.java index 5deaef8..86c95bb 100644 --- a/inspect-gateway/src/main/java/com/inspect/gateway/filter/AuthFilter.java +++ b/inspect-gateway/src/main/java/com/inspect/gateway/filter/AuthFilter.java @@ -32,10 +32,13 @@ public class AuthFilter implements GlobalFilter, Ordered { public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { final ServerHttpRequest request = exchange.getRequest(); + log.info("requestUrlPath: {}, whites: {}", request.getURI().getPath(), ignoreWhite.getWhites()); if (StringUtils.matches(request.getURI().getPath(), ignoreWhite.getWhites())) { + log.info("requestUrlPath: {}, filter ok", request.getURI().getPath()); return chain.filter(exchange); } + log.info("requestUrlPath: {}, filter next chain", request.getURI().getPath()); String token = getToken(request); if (StringUtils.isEmpty(token)) { return unauthorizedResponse(exchange, TokenConst.RESP_TOKEN_NULL); diff --git a/inspect-gateway/src/main/java/com/inspect/gateway/filter/RequestParamGlobalFilter.java b/inspect-gateway/src/main/java/com/inspect/gateway/filter/RequestParamGlobalFilter.java index 44ca55a..c2c4bf5 100644 --- a/inspect-gateway/src/main/java/com/inspect/gateway/filter/RequestParamGlobalFilter.java +++ b/inspect-gateway/src/main/java/com/inspect/gateway/filter/RequestParamGlobalFilter.java @@ -1,5 +1,6 @@ package com.inspect.gateway.filter; +import java.util.Arrays; import java.util.List; import org.slf4j.Logger; @@ -26,19 +27,26 @@ public class RequestParamGlobalFilter implements GlobalFilter, Ordered { private Logger logger = LoggerFactory.getLogger(RequestParamGlobalFilter.class); private static final List> messageReaders = HandlerStrategies.withDefaults().messageReaders(); + private static final List PATH_WHITE_LIST = Arrays.asList( + "/patrol/task/add", + "/example/path2" + ); + public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { ServerHttpRequest request = exchange.getRequest(); HttpHeaders headers = request.getHeaders(); MediaType contentType = headers.getContentType(); long contentLength = headers.getContentLength(); - final String uriPath = request.getURI().getPath(); - return contentLength <= 0L + final String path = request.getURI().getPath(); + boolean bWhite = isWhiteListed(path); + if (contentLength <= 0L || !MediaType.APPLICATION_JSON.equals(contentType) && !MediaType.APPLICATION_JSON_UTF8.equals(contentType) - || uriPath.contains("/task/add") - || uriPath.contains("/task/save") - ? - chain.filter(exchange) : - this.readBody(exchange, chain); + || bWhite) { + logger.info("RequestParamGlobalFilter body transfer omitting, path: {}, bWhite: {}", path, bWhite); + return chain.filter(exchange); + } + + return readBody(exchange, chain); } private Mono readBody(ServerWebExchange exchange, GatewayFilterChain chain) { @@ -65,4 +73,8 @@ public class RequestParamGlobalFilter implements GlobalFilter, Ordered { public int getOrder() { return Integer.MIN_VALUE; } + + private boolean isWhiteListed(String path) { + return PATH_WHITE_LIST.stream().anyMatch(path::startsWith); + } }