new
This commit is contained in:
@@ -61,7 +61,7 @@ public class RequestEncryptionGlobalFilter implements GlobalFilter, Ordered {
|
|||||||
@Override
|
@Override
|
||||||
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
||||||
//拦截OPTIONS请求
|
//拦截OPTIONS请求
|
||||||
log.debug("1. 获取请求头");
|
System.out.println("1. 获取请求头");
|
||||||
//1 获取时间戳
|
//1 获取时间戳
|
||||||
Long dateTimestamp = getDateTimestamp(exchange.getRequest().getHeaders());
|
Long dateTimestamp = getDateTimestamp(exchange.getRequest().getHeaders());
|
||||||
//2 获取RequestId
|
//2 获取RequestId
|
||||||
@@ -86,7 +86,7 @@ public class RequestEncryptionGlobalFilter implements GlobalFilter, Ordered {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return FilterUtils.invalidUrl(exchange);
|
return FilterUtils.invalidUrl(exchange);
|
||||||
}
|
}
|
||||||
log.debug("2. 获取请求参数: "+ JSON.toJSON(paramMap));
|
System.out.println("2. 获取请求参数: "+ JSON.toJSON(paramMap));
|
||||||
//6 获取请求体,修改请求体
|
//6 获取请求体,修改请求体
|
||||||
ServerRequest serverRequest = ServerRequest.create(exchange, HandlerStrategies.withDefaults().messageReaders());
|
ServerRequest serverRequest = ServerRequest.create(exchange, HandlerStrategies.withDefaults().messageReaders());
|
||||||
Mono<String> modifiedBody = serverRequest.bodyToMono(String.class).flatMap(body -> {
|
Mono<String> modifiedBody = serverRequest.bodyToMono(String.class).flatMap(body -> {
|
||||||
@@ -96,7 +96,7 @@ public class RequestEncryptionGlobalFilter implements GlobalFilter, Ordered {
|
|||||||
paramMap.put(entry.getKey(), entry.getValue());
|
paramMap.put(entry.getKey(), entry.getValue());
|
||||||
}
|
}
|
||||||
checkSign(sign, dateTimestamp, requestId, paramMap);
|
checkSign(sign, dateTimestamp, requestId, paramMap);
|
||||||
log.debug("3. 修改请求体:"+encrypt);
|
System.out.println("3. 修改请求体:"+encrypt);
|
||||||
return Mono.just(encrypt);
|
return Mono.just(encrypt);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ public class RequestEncryptionGlobalFilter implements GlobalFilter, Ordered {
|
|||||||
//验证签名
|
//验证签名
|
||||||
checkSign(outputMessage.getSign(), outputMessage.getDateTimestamp(), outputMessage.getRequestId(), outputMessage.getParamMap());
|
checkSign(outputMessage.getSign(), outputMessage.getDateTimestamp(), outputMessage.getRequestId(), outputMessage.getParamMap());
|
||||||
}
|
}
|
||||||
log.debug("4. 完成");
|
System.out.println("4. 完成");
|
||||||
return outputMessage.getBody();
|
return outputMessage.getBody();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class ResponseEncryptionGlobalFilter implements GlobalFilter, Ordered {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
||||||
log.debug("触发");
|
System.out.println("触发");
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
objectMapper.registerModule(new JavaTimeModule());
|
objectMapper.registerModule(new JavaTimeModule());
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ public class ResponseEncryptionGlobalFilter implements GlobalFilter, Ordered {
|
|||||||
join.read(bytes);
|
join.read(bytes);
|
||||||
DataBufferUtils.release(join);
|
DataBufferUtils.release(join);
|
||||||
|
|
||||||
log.debug("加密前 body:{}", new String(bytes));
|
System.out.println("加密前 body:"+ new String(bytes));
|
||||||
|
|
||||||
byte[] encryption;
|
byte[] encryption;
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ public class ResponseEncryptionGlobalFilter implements GlobalFilter, Ordered {
|
|||||||
log.error("数据类型不是 JSON,不加密", e);
|
log.error("数据类型不是 JSON,不加密", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
log.debug("加密后 body:{}", new String(encryption, StandardCharsets.UTF_8));
|
System.out.println("加密后 body:"+ new String(encryption, StandardCharsets.UTF_8));
|
||||||
HttpHeaders headers = getDelegate().getHeaders();
|
HttpHeaders headers = getDelegate().getHeaders();
|
||||||
headers.setContentLength(encryption.length);
|
headers.setContentLength(encryption.length);
|
||||||
return exchange.getResponse().bufferFactory().wrap(encryption);
|
return exchange.getResponse().bufferFactory().wrap(encryption);
|
||||||
|
|||||||
Reference in New Issue
Block a user