Sfoglia il codice sorgente

gateway 中对 fingerprint 的获取放到 GatewayLogService 中, 记录到访问日志

reghao 7 mesi fa
parent
commit
16be69660c

+ 8 - 0
gateway/src/main/java/cn/reghao/tnb/gateway/log/GatewayLogService.java

@@ -4,6 +4,7 @@ import cn.reghao.bnt.log.GatewayLog;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.cloud.gateway.route.Route;
 import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
+import org.springframework.http.HttpCookie;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.server.reactive.ServerHttpRequest;
 import org.springframework.http.server.reactive.ServerHttpResponse;
@@ -17,6 +18,7 @@ import java.net.URI;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * @author reghao
@@ -94,6 +96,12 @@ public class GatewayLogService {
             //gatewayLog.setRemoteAddr(remote.getHostString());
             gatewayLog.setRemotePort(remote.getPort());
         }
+
+        Map<String, String> cookieMap = request.getCookies().values().stream()
+                .map(list -> list.get(0))
+                .collect(Collectors.toMap(HttpCookie::getName, HttpCookie::getValue));
+        String fingerprint = cookieMap.get("fp");
+        //System.out.printf("fingerprint -> %s\n", fingerprint);
     }
 
     private String getOriginalRequestUrl(ServerWebExchange exchange) {

+ 1 - 15
gateway/src/main/java/cn/reghao/tnb/gateway/token/GlobalTokenFilter.java

@@ -106,27 +106,13 @@ public class GlobalTokenFilter implements GlobalFilter, Ordered {
         }
 
         MultiValueMap<String, HttpCookie> cookies = request.getCookies();
-        /*for (List<HttpCookie> list : cookies.values()) {
-            for (HttpCookie cookie : list) {
-                String name = cookie.getName();
-                if (name.equalsIgnoreCase(cookieName)) {
-                    String userCookie = cookie.getValue();
-                    return new UserData("cookie", userCookie);
-                }
-            }
-        }*/
         Map<String, String> cookieMap = cookies.values().stream()
                 .map(list -> list.get(0))
                 .collect(Collectors.toMap(HttpCookie::getName, HttpCookie::getValue));
         String value = cookieMap.get(cookieName);
         if (value != null) {
             return new UserData("cookie", value);
-        }/* else {
-            value = cookieMap.get("fp");
-            if (value != null) {
-                System.out.printf("fingerprint -> %s\n", value);
-            }
-        }*/
+        }
 
         return null;
     }