Zugriff auf express.session.MemoryStore über socket.io-Objekte?

8

Ich mache das in einer Login-Funktion

%Vor%

Jetzt möchte ich die ID und den Typ, die ich gespeichert habe, an das Sitzungsobjekt ausgeben. Wie soll ich das machen? Ich habe diesen Artikel gelesen, aber ich bin unerfahren, da ich Schwierigkeiten damit habe. Ich habe es in meinem Code verwendet

%Vor%

und

%Vor%

Ich bekomme nichts im Session-Objekt. Ich habe versucht, den Inhalt des sessionStore zu protokollieren und es scheint leer zu sein! Bedeutet das, dass die Informationen, die ich in der Sitzung gespeichert habe, nicht im sessionStore gespeichert werden? Wenn ja, was sollte ich tun, um es dort zu speichern? und wenn es dort gespeichert wird, warum kann die sessionStore.get-Funktion es nicht finden?

    
newbie 10.11.2013, 12:12
quelle

2 Antworten

8

Ich bin mir nicht sicher, ob Sie noch daran arbeiten, aber Sie können mit nur einem MemoryStore auf Sitzungsdaten zugreifen. Wie sonst würde Express es benutzen, wenn es nicht funktioniert hätte? :)

Eine einfache Möglichkeit, MemoryStore-Funktionen zu demonstrieren, ist:

%Vor%

Schlagen / gefolgt von /session führt zu einer Antwort von:

%Vor%

Ich vermute, dass Ihr Problem darin besteht, wie Sie die Session-ID vom Socket bekommen, aber es ist definitiv möglich, eine Session aus einem MemoryStore zu extrahieren. Denken Sie auch daran, dass ein Neustart des Express-Servers alle Ihre Sitzungen zerstört, sodass Sie nach jedem Neustart ein neues Cookie benötigen.

    
Rob Riddle 10.02.2014 06:01
quelle
0

Sie müssen eine Datenbank verwenden, um Ihre Express-Sitzung zu speichern, dann die Cookie-Daten in der socket.io-Definition analysieren und mit den erhaltenen Informationen die Sitzungsinformationen aus der Datenbank abrufen, hier ein vollständiges Beispiel:

Ссылка

Sie können auch die Sitzungs-ID verwenden, die vom Cookie analysiert wurde, und den Benutzer in einen "Chat-Raum" mit dem Namen der Sitzung einbinden.

    
Rodrigo Polo 12.11.2013 08:13
quelle

Tags und Links