From 858a1d13e4909761c1aa8c48c5a3f0cf22746413 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 28 Oct 2025 15:05:36 +0800
Subject: [PATCH] 2025-10-28 zwy 更新WebSocket代码,校验用户。
---
ard-sample/src/main/java/com/ard/sample/component/websocket/interceptor/DockHandshakeInterceptor.java | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/component/websocket/interceptor/DockHandshakeInterceptor.java b/ard-sample/src/main/java/com/ard/sample/component/websocket/interceptor/DockHandshakeInterceptor.java
new file mode 100644
index 0000000..165b8b8
--- /dev/null
+++ b/ard-sample/src/main/java/com/ard/sample/component/websocket/interceptor/DockHandshakeInterceptor.java
@@ -0,0 +1,29 @@
+package com.ard.sample.component.websocket.interceptor;
+
+import org.springframework.http.server.ServerHttpRequest;
+import org.springframework.http.server.ServerHttpResponse;
+import org.springframework.web.socket.WebSocketHandler;
+import org.springframework.web.socket.server.HandshakeInterceptor;
+
+import java.util.Map;
+
+public class DockHandshakeInterceptor implements HandshakeInterceptor {
+
+ @Override
+ public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response,
+ WebSocketHandler wsHandler, Map<String, Object> attributes){
+ //从路径中获取userId
+ String path = request.getURI().getPath();
+ String[] segments = path.split("/");
+ if (segments.length > 2) {
+ String userId = segments[segments.length - 1];
+ attributes.put("userId", userId);
+ }
+ return true;
+ }
+
+ @Override
+ public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response,
+ WebSocketHandler wsHandler, Exception ex) {
+ }
+}
--
Gitblit v1.9.3