Gibt es eine Lösung, die eine Nachricht an eine Gruppe von Benutzern (nicht an alle Benutzer) senden kann, die spring4 websocket verwenden?

8

Kürzlich verwende ich spring4 websocket, um Nachricht zum Endbenutzer zu schieben.

Ich weiß, dass es zwei Methoden gibt ( convertAndSend , convertAndSendToUser ), um eine Nachricht in der Klasse SimpMessageSendingOperations zu senden.

Aber gibt es eine Möglichkeit, eine Nachricht an eine Gruppe von Benutzern zu senden, und der Benutzer außerhalb der Gruppe kann die Nachricht nicht abonnieren?

Vielen Dank.

    
Xiujun Ma 11.04.2014, 12:14
quelle

1 Antwort

6

Ab Spring Framework 4.0.x ist es möglich, Nachrichten an eine Gruppe von Benutzern zu senden:

  • sendet explizit Nachrichten an jeden Benutzer mit einer for-Schleife
  • Senden von Nachrichten an ein bestimmtes Thema, vorausgesetzt, die Benutzer, die dieses Thema zuvor abonniert haben.

Wie Sie bereits erwähnt haben, möchten Sie nicht, dass Benutzer, die nicht zu dieser "Gruppe" gehören, dieses Thema abonnieren können. Dies ruft in der Tat nach Autorisierungsfunktionen auf.

Mit 4.0.x werden Sicherheitsfunktionen auf HTTP-Ebene implementiert, z. B. während der HTTP-Aktualisierungsphase, bevor Clients zum Websocket wechseln (siehe die Websocket-Portfolio-Anwendung ).

Die von Ihnen gewünschte Funktion ist in Spring Security 4.0.0 implementiert (wird veröffentlicht, diesen Blog-Beitrag für eine vollständige Vorschau ).

    
Brian Clozel 15.04.2014, 19:40
quelle