如果我执行以下代码,sha.getLogin()并sha.getPasscode()输出null!代码有什么问题?客户:var socket = new SockJS('/ws');stompClient = Stomp.over(socket);stompClient.connect("123","456", function (frame) { //...});服务器:@EventListenerprivate void onSessionConnect(SessionConnectedEvent event){ StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage()); System.out.println(sha.getLogin()); System.out.println(sha.getPasscode());}但是,如果执行以下命令,则包含登录名和密码。sha.getMessageHeaders().toString()输出(无json):{ simpMessageType=CONNECT_ACK, simpConnectMessage=GenericMessage[ payload=byte[0], headers={ simpMessageType=CONNECT, stompCommand=CONNECT, nativeHeaders={ login=[123],//<<<Login passcode=[PROTECTED],//<<<Passcode accept-version=[ 1.1, 1.0 ], heart-beat=[ 10000, 10000 ] }, simpSessionAttributes={}, simpHeartbeat=[J@4b5cea63, stompCredentials=[PROTECTED], simpSessionId=xhojby2n } ], simpSessionId=xhojby2n}
1 回答
![?](http://img1.sycdn.imooc.com/54584f3100019e9702200220-100-100.jpg)
函数式编程
TA贡献1807条经验 获得超9个赞
当您调用时,Spring正在访问会话数据;sha.getLogin()
或者sha.getPasscode()
,您的用户未在会话中进行身份验证;当您发送连接ACK时,您需要拦截消息并在会话中对用户进行身份验证。
添加回答
举报
0/150
提交
取消