Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Laravel 5.1 Session und Socket.IO + Redis - Senden von Benachrichtigungen an angemeldete (bekannte) Benutzer und Benutzergruppen

Ich habe (langsam) etwas Ähnliches für eine Web-App mit Autobahn und WAMP implementiert, dem zugehörigen Protokoll und Router. Ich habe derzeit ungefähr fünf verschiedene Dienste (einige in PHP geschrieben, andere in NodeJS) plus die Clients, die alle in Echtzeit kommunizieren.

Das Schöne an WAMP ist, dass es sowohl Remote Procedure Calls (RPC) als auch Publish/Subscribe (PubSub)-Modelle für die Kommunikation einkapselt.

Mein Authentifizierungsschema ist ein bisschen wie ein Kludge:Auf jeder Seite der Laravel-Web-App gibt es einen Token-Wert, der für den Benutzer einzigartig ist und beim Anmelden bei der Laravel-App generiert wird. Das Javascript verwendet diesen Tokenwert, um sich zu authentifizieren, wenn der Client eine Verbindung zum WAMP-Router herstellt. Wenn es sich um einen ungültigen (oder veralteten) Token handelt, wird die Verbindung abgelehnt.

Um Benachrichtigungen auf bestimmte Benutzer oder Gruppen zu beschränken, wäre eine einfache Möglichkeit, den entsprechenden JS-Code in eine Funktion einzuschließen, die nur aufgerufen (oder nur an den Client in der Blade-Vorlage ausgegeben) wird, wenn der Benutzer über die entsprechenden verfügt Berechtigungen.

Schließlich ist meine Anwendung ausschließlich für die Verwendung innerhalb unserer Firewall bestimmt, daher habe ich die Verwendung von Verschlüsselung/Entschlüsselung nicht untersucht.