如果我執(zhí)行以下代碼,sha.getLogin()并sha.getPasscode()輸出null!代碼有什么問(wèn)題?客戶:var socket = new SockJS('/ws');stompClient = Stomp.over(socket);stompClient.connect("123","456", function (frame) { //...});服務(wù)器:@EventListenerprivate void onSessionConnect(SessionConnectedEvent event){ StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage()); System.out.println(sha.getLogin()); System.out.println(sha.getPasscode());}但是,如果執(zhí)行以下命令,則包含登錄名和密碼。sha.getMessageHeaders().toString()輸出(無(wú)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 回答

函數(shù)式編程
TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
當(dāng)您調(diào)用時(shí),Spring正在訪問(wèn)會(huì)話數(shù)據(jù);sha.getLogin()
或者sha.getPasscode()
,您的用戶未在會(huì)話中進(jìn)行身份驗(yàn)證;當(dāng)您發(fā)送連接ACK時(shí),您需要攔截消息并在會(huì)話中對(duì)用戶進(jìn)行身份驗(yàn)證。
添加回答
舉報(bào)
0/150
提交
取消