Nœud + Express D'Expiration De Session?
J'ai une application dans l'express et j'ai un formulaire de connexion. J'ai besoin de sessions durent pendant 1 mois, puis-je configurer maxAge à un mois en millisecondes.
J'ai laissé deux ordinateurs et connecté pour 24 heures, et quand je suis revenue à la fois ont été enregistrés.
Comment puis-je résoudre ce problème/réaliser ce que je suis en train de faire?
Merci.
OriginalL'auteur | 2012-08-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser l'expiration de l'attribut au lieu de maxAge. Il prend Date d'objet de valeur. Vérifiez également cookie de session exipres sur le client après ils se sont fixés. Peut-être la session s'est terminée par le serveur (c'est à dire memcached redémarrez-le).
Exemple de Code:
mais
fonctionne très bien pour moi aussi.
le
MemoryStore
seulement les magasins de séances pour aussi longtemps que l'express Application est en cours d'exécution. Donc, si vous redémarrer votre serveur à tout moment, les cookies ne sont pas liés à une session en mémoire plus et express fera à vos utilisateurs de s'inscrire à nouveau.Peut-être que j'ai mal compris comment cela fonctionne, mais ... la "date d'expiration" exemple sera une date d'expiration par rapport à quand l'application est lancée, donc un mois après l'application démarre toutes les sessions expirera immédiatement (incl. toutes les nouvelles sessions créées après ce point)? et le maxAge exemple définit un âge, qui est (actuel-offset-de-époque de + de 30 jours à millis) qui est d'environ 44 ans, à partir de quand l'application démarre ... ne devraient-ils pas être enveloppé dans des fonctions ou quelque chose?
Les documents suggèrent de ne pas utiliser expire, et de préférer à l'aide de maxAge: npmjs.com/package/express-session#cookieexpires
Pourquoi avez-vous réglé "maxAge: Date.maintenant() + (30 * 86400 * 1000)" dans votre exemple? Je veux dire, pourquoi l'expression "Date de.maintenant()" au début? Selon les docs npmjs.com/package/express-session#cookiemaxage, Il dit: "Ceci est fait en prenant l'heure actuelle du serveur et de l'ajout de maxAge millisecondes de la valeur pour calculer une Expiration datetime."
OriginalL'auteur Vadim Baryshev
maxAge signifie combien de temps la durée de session, dans la sclérose en plaques;
expire signifie que lors de la session va expirer, c'est à dire: un objet date
documentataion
OriginalL'auteur Dong
OriginalL'auteur Hoovinator
La documentation n'est pas recommandé de définir un cookie.l'expiration directement. Au lieu de cela, placer le biscuit.maxAge directement.
Express cookie de session.expire
OriginalL'auteur Anderson Luiz
La accepté de répondre par @Vadim Baryshev est imparfait, au moins dans les plus récentes express-session implémentations. Lorsque le démarrage de l'application, vous créez la session de mise en œuvre et de définir l'âge maximum. Comme pour la réponse à l'aide de l'expiration, qui n'est pas recommandé, bâton avec maxAge.
Cela signifie que le maxAge exemple comme l'écrit devait expirer à chaque session d'un mois après que le serveur démarre, et chaque session créée dans l'avenir serait expiré immédiatement. Jusqu'à ce que le serveur a été redémarré, il n'y aurait pas valable sessions.
Au lieu de passer d'un objet date, il suffit de passer le nombre de millisecondes à la maxAge de la propriété comme suit:
OriginalL'auteur Alex H.