Enrich CONNECTED frames with Principal
Issue: SPR-12479
This commit is contained in:
@@ -160,6 +160,7 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
|
||||
SimpMessageHeaderAccessor connectAck = SimpMessageHeaderAccessor.create(SimpMessageType.CONNECT_ACK);
|
||||
initHeaders(connectAck);
|
||||
connectAck.setSessionId(sessionId);
|
||||
connectAck.setUser(SimpMessageHeaderAccessor.getUser(headers));
|
||||
connectAck.setHeader(SimpMessageHeaderAccessor.CONNECT_MESSAGE_HEADER, message);
|
||||
Message<byte[]> messageOut = MessageBuilder.createMessage(EMPTY_PAYLOAD, connectAck.getMessageHeaders());
|
||||
getClientOutboundChannel().send(messageOut);
|
||||
@@ -172,6 +173,7 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
|
||||
SimpMessageHeaderAccessor disconnectAck = SimpMessageHeaderAccessor.create(SimpMessageType.DISCONNECT_ACK);
|
||||
initHeaders(disconnectAck);
|
||||
disconnectAck.setSessionId(sessionId);
|
||||
disconnectAck.setUser(SimpMessageHeaderAccessor.getUser(headers));
|
||||
Message<byte[]> messageOut = MessageBuilder.createMessage(EMPTY_PAYLOAD, disconnectAck.getMessageHeaders());
|
||||
getClientOutboundChannel().send(messageOut);
|
||||
}
|
||||
|
||||
@@ -566,8 +566,10 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
|
||||
getHeaderInitializer().initHeaders(headerAccessor);
|
||||
}
|
||||
headerAccessor.setSessionId(this.sessionId);
|
||||
headerAccessor.setUser(this.connectHeaders.getUser());
|
||||
headerAccessor.setMessage(errorText);
|
||||
Message<?> errorMessage = MessageBuilder.createMessage(EMPTY_PAYLOAD, headerAccessor.getMessageHeaders());
|
||||
headerAccessor.setImmutable();
|
||||
sendMessageToClient(errorMessage);
|
||||
}
|
||||
}
|
||||
@@ -582,6 +584,7 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
|
||||
public void handleMessage(Message<byte[]> message) {
|
||||
StompHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
|
||||
accessor.setSessionId(this.sessionId);
|
||||
accessor.setUser(this.connectHeaders.getUser());
|
||||
|
||||
StompCommand command = accessor.getCommand();
|
||||
if (StompCommand.CONNECTED.equals(command)) {
|
||||
|
||||
Reference in New Issue
Block a user