Da ich beim Aufruf von expressServer.use(express.session({params}))
kein maxAge definiert habe, wird der Ablauf des Cookies als "Sitzung" festgelegt.
Ich möchte eine "Remember me" -Funktion hinzufügen, wenn ich mich anmelde. Wenn "remember me" ausgewählt ist, wird der Ablauf auf einen Monat verlängert.
Wie würde ich das machen? Ich habe versucht, einfach die maxAge zu erweitern, aber das schien nichts zu tun ...
%Vor%Danke für die Hilfe!
** BEARBEITEN **
Ich habe versucht, einen einfachen Server zum Testen des Cookie eines Benutzers zu testen. Ich benutze Express 3.0.4
Wenn ich 127.0.0.1:9000/blah besuche, ist das Feld "abläuft" des Browser-Cookies immer noch "Sitzung" ...
%Vor%Grrrrrrr ....
Ich habe eine Checkbox mit der Aufschrift "remember me" auf der Seite / login:
%Vor% Dann mache ich auf meiner POST-Route nach / login eine Plausibilitätsprüfung und setze die Sitzung, wenn req.body.remember
gesetzt ist, ansonsten ist es nur eine Fenstersitzung:
Fügen Sie die folgenden Zeilen (ich verwende redis) in app.js hinzu:
%Vor%Wenn Sie in Express 4 Rollensitzungen mit Cookie-Sitzungen implementieren möchten, konfigurieren Sie die Middleware wie folgt:
%Vor% Beachten Sie, dass Sie die Option expires
nicht festlegen müssen.
Um Ihre Sitzung zu erweitern, ändern Sie sie einfach wie folgt:
%Vor% Beachten Sie, dass es in Express 4 kein req.session.touch()
gibt.
Setzen Sie den Cookie-Namen auf value, wobei es sich um eine Zeichenfolge oder ein Objekt handeln kann, das in JSON konvertiert wurde. Die Pfadoption ist standardmäßig auf "/"
eingestellt.
Für weitere Referenzen kann der folgende Link verwendet werden
Oder Sie können es versuchen, es hat für mich funktioniert:
%Vor%