From ff169f9a0417b73f0afac554cf2f9d048ac56c80 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 19 八月 2024 20:57:08 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
index 7ea17ff..ba04854 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
@@ -1,6 +1,7 @@
 package com.ruoyi.gateway.filter;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.core.constant.CacheConstants;
 import com.ruoyi.common.core.constant.HttpStatus;
@@ -47,13 +48,6 @@
 public class SignFilter implements GlobalFilter, Ordered {
     private static final Logger log = LoggerFactory.getLogger(SignFilter.class);
 
-    // 排除过滤的 uri 地址,nacos自行添加
-    @Autowired
-    private IgnoreWhiteProperties ignoreWhite;
-
-    @Autowired
-    private RedisService redisService;
-    
     @Value("${security.sign}")
     private boolean parameter_signature;
 
@@ -62,7 +56,7 @@
     public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
         ServerHttpRequest request = exchange.getRequest();
         ServerHttpRequest.Builder mutate = request.mutate();
-    
+
         HttpMethod method = request.getMethod();
         if(method != HttpMethod.POST){
             return chain.filter(exchange.mutate().request(mutate.build()).build());
@@ -87,8 +81,8 @@
         log.error("[签名异常处理]请求路径:{}", exchange.getRequest().getPath());
         return ServletUtils.webFluxResponseWriter(exchange.getResponse(), msg, HttpStatus.BAD_REQUEST);
     }
-    
-    
+
+
     /**
      * 校验签名
      * @return
@@ -119,9 +113,9 @@
                             .build());
         });
     }
-    
-    
-    
+
+
+
     /**
      * 签名校验
      * @return
@@ -137,8 +131,8 @@
         System.err.println("签名值:" + signUrlEncode);
         return false;
     }
-    
-    
+
+
     /**
      * 组装签名路径
      * @param params
@@ -156,6 +150,10 @@
         // 构造签名键值对的格式
         StringBuilder sb = new StringBuilder();
         for (String k : keySet) {
+            Object o = params.get(k);
+            if(o instanceof JSONObject || o instanceof JSONArray){
+                continue;
+            }
             String v = params.getString(k);
             if(StringUtils.isNotEmpty(v)){
                 sb.append(k + "=" + v + "&");

--
Gitblit v1.7.1