package com.whyc.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter; import javax.servlet.http.HttpSession; import javax.websocket.HandshakeResponse; import javax.websocket.server.HandshakeRequest; import javax.websocket.server.ServerEndpointConfig; @Configuration public class WebSocketConfig extends ServerEndpointConfig.Configurator { @Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { //HttpSession httpSession = (ShiroHttpSession) request.getHttpSession(); HttpSession httpSession = (HttpSession)request.getHttpSession(); if(httpSession!=null) { sec.getUserProperties().put("httpSession", httpSession); } super.modifyHandshake(sec, request, response); } @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } }