Przeglądaj źródła

修改webSocket编号为生成编号

Administrator 4 lat temu
rodzic
commit
9ad5f859a1

+ 9 - 0
src/main/java/com/goafanti/core/websocket/SystemWebSocketHandler.java

@@ -4,6 +4,7 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.socket.CloseStatus;
 import org.springframework.web.socket.TextMessage;
@@ -12,15 +13,23 @@ import org.springframework.web.socket.WebSocketMessage;
 import org.springframework.web.socket.WebSocketSession;
 
 import com.goafanti.common.utils.LoggerUtils;
+import com.goafanti.core.mybatis.JDBCIdGenerator;
 
 @Service
 public class SystemWebSocketHandler implements WebSocketHandler {
+	
+	@Autowired
+	private JDBCIdGenerator	idGenerator;
 
 	private static final Map<String, WebSocketSession> users = new ConcurrentHashMap<>();
+	
 
 	@Override
 	public void afterConnectionEstablished(WebSocketSession session) throws Exception {
 		String userId = (String) session.getAttributes().get(Constants.WEBSOCKET_USERNAME);
+		if (userId==null) {
+			userId=idGenerator.generateId().toString();
+		}
 		if (userId != null) {
 			users.put(userId, session);
 			LoggerUtils.debug(getClass(), "添加用户websocket:" + userId);

+ 1 - 1
src/main/java/com/goafanti/core/websocket/WebSocketConfig.java

@@ -21,7 +21,7 @@ public class WebSocketConfig extends WebMvcConfigurerAdapter implements WebSocke
 	@Override
 	public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
 		registry.addHandler(systemWebSocketHandler, "/webSocketServer")
-				.addInterceptors(new WebSocketHandshakeInterceptor())
+//		.addInterceptors(new WebSocketHandshakeInterceptor())
 				.setAllowedOrigins("*");
 //		registry.addHandler(systemWebSocketHandler, "/sockjs/webSocketServer").setAllowedOrigins("*")
 //				.addInterceptors(new WebSocketHandshakeInterceptor()).withSockJS();

+ 1 - 0
src/main/resources/shiro_base_auth.ini

@@ -12,6 +12,7 @@
 /signin=anon
 /managesignin=anon
 /register=anon
+/webSocketServer=anon
 /mregister=anon
 /open/**=anon
 /favicon.ico=anon

+ 3 - 2
src/main/resources/spring/spring-websocket.xml

@@ -16,9 +16,10 @@
     <websocket:handlers allowed-origins="*">
         <!--指定 webSocket 地址-->
         <websocket:mapping path="/webSocketServer" handler="systemWebSocketHandler"/>
-        <websocket:handshake-interceptors>
+        <!-- 过滤器 -->
+        <!-- <websocket:handshake-interceptors>
         	<bean class="com.goafanti.core.websocket.WebSocketHandshakeInterceptor"/>
-        </websocket:handshake-interceptors>
+        </websocket:handshake-interceptors> -->
     </websocket:handlers>
  
 </beans>