update 更新 GlobalLogFilter#filter 根据请求头判断加密参数 ;

2.X
Michelle.Chung 2 years ago
parent ea01060ede
commit e078125470

@ -0,0 +1,28 @@
package org.dromara.gateway.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
/**
* api
* @author wdhcr
*/
@Data
@Component
@RefreshScope
@ConfigurationProperties(prefix = "api-decrypt")
public class ApiDecryptProperties {
/**
*
*/
private Boolean enabled;
/**
*
*/
private String headerFlag;
}

@ -1,7 +1,9 @@
package org.dromara.gateway.filter;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.gateway.config.properties.ApiDecryptProperties;
import org.dromara.gateway.config.properties.CustomGatewayProperties;
import org.dromara.gateway.utils.WebFluxUtils;
import lombok.extern.slf4j.Slf4j;
@ -28,6 +30,8 @@ public class GlobalLogFilter implements GlobalFilter, Ordered {
@Autowired
private CustomGatewayProperties customGatewayProperties;
@Autowired
private ApiDecryptProperties apiDecryptProperties;
private static final String START_TIME = "startTime";
@ -42,8 +46,13 @@ public class GlobalLogFilter implements GlobalFilter, Ordered {
// 打印请求参数
if (WebFluxUtils.isJsonRequest(exchange)) {
String jsonParam = WebFluxUtils.resolveBodyFromCacheRequest(exchange);
log.info("[PLUS]开始请求 => URL[{}],参数类型[json],参数:[{}]", url, jsonParam);
if (apiDecryptProperties.getEnabled()
&& ObjectUtil.isNotNull(request.getHeaders().getFirst(apiDecryptProperties.getHeaderFlag()))) {
log.info("[PLUS]开始请求 => URL[{}],参数类型[encrypt]", url);
} else {
String jsonParam = WebFluxUtils.resolveBodyFromCacheRequest(exchange);
log.info("[PLUS]开始请求 => URL[{}],参数类型[json],参数:[{}]", url, jsonParam);
}
} else {
MultiValueMap<String, String> parameterMap = request.getQueryParams();
if (MapUtil.isNotEmpty(parameterMap)) {

Loading…
Cancel
Save