2014-11-21 6 views

Antwort

15

Sie sollten immer, immer Verwendung req.user in Ihrem eigenen Code - das ist wichtig, denn wenn Sie req.session.passport.user verwenden, sind Sie im Wesentlichen Benutzerinformationen aus einer Session-Cookie ziehen (die veraltet sein können).

Es ist immer am besten, sich auf req.user im Gegensatz zu Cookie-Daten direkt zu verlassen, da diese Informationen abhängig von Ihrer Implementierung möglicherweise veraltet sind.

Und um Ihre Frage zu beantworten: Wenn Sie einen Benutzer ausloggen, sind sowohl req.session als auch req.user nicht mehr verfügbar.

+0

Würde 'req.session.passport.user' nicht tatsächlich Informationen aus der Sitzung selbst (nicht aus dem Sitzungscookie) abrufen? Ich könnte mich irgendwie geirrt haben, aber wenn Sie nicht Sessions deaktiviert haben, wird 'req.user' nicht wirklich nur' req.session.passport.user' zugeordnet? Ich kann nicht sehen, wie die beiden wirklich jemals anders sein würden. Wenn Sie nun tatsächlich Daten im Cookie speichern (im Gegensatz zur Sitzungs-ID) und dann über 'req.cookies' auf diese Daten zugreifen, dann könnte es sicherlich veraltet sein, aber das ist ein ganz anderes Szenario. – nextgentech

+0

Nein - 'req.session.passport.user' wird aus dem Sitzungscookie abgerufen (nirgendwo anders). So funktioniert es mit der Cookie-basierten Sitzungsauthentifizierung, es sei denn, Sie verwenden ein anderes Formular. – rdegges

+0

Vielleicht reden wir über verschiedene Dinge, aber das macht keinen Sinn im Zusammenhang mit einem MemoryStore oder serverbasierten Session Storage. Bei Verwendung eines serverseitigen Sitzungsspeichers speichert der Sitzungscookie (der an den Browser gesendet wird) nur die Sitzungs-ID. Alle Daten bleiben auf dem Server. Der Hauptpunkt einer Sitzung besteht darin, Daten für einen bestimmten Benutzer auf dem Server verfügbar und aktuell zu halten. Der Sitzungscookie erlaubt nur einem Browser, mit einer bestimmten Sitzung verbunden zu bleiben. Der Zugriff auf Daten über "req.session" enthält immer die neuesten Sitzungsinformationen. – nextgentech

Verwandte Themen