package com.huaheng.pc.stompwebsocket; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.pc.system.user.domain.User; import org.springframework.http.server.ServerHttpRequest; import org.springframework.web.socket.WebSocketHandler; import org.springframework.web.socket.server.support.DefaultHandshakeHandler; import java.security.Principal; import java.util.Map; public class StompHandshakeHandler extends DefaultHandshakeHandler { @Override protected Principal determineUser(ServerHttpRequest request, WebSocketHandler wsHandler, Map<String, Object> attributes) { User user = ShiroUtils.getUser(); return new StompPrincipal(user.getLoginName()); } }