2012-03-30 4 views
0

Immer wenn ich Änderungen an meiner App mache, startet nodemon die gesamte App neu, aber jedes Mal wird meine Sitzung zerstört. Das wird nervig, da ich mich jedes Mal anmelden muss, wenn ich Änderungen an meiner App vornehme. Wie vermeide ich dies?Sitzung zurückgesetzt nach jedem App-Neustart in Node/Express

Ich verwende Cookie-basierte Sitzungen, da ich nur die Benutzer-ID speichern. Mein Setup sieht wie folgt aus (in Coffeescript):

app.use express.cookieParser() 
app.use express.session 
    secret: 'mysecretkey' 
app.use express.csrf() 

Und ich spare meine Session durch dies zu tun:

req.session.userid = user._id.toHexString() # it's a mongoDB ObjectID 
req.session.save() 

Antwort

4

standardmäßig expresssJS verwendet In-Memory-Speicher für Sitzungen, so dass, wenn Ihre Anwendung wird zurückgesetzt Das ist auch die In-Memory-Sitzung.

Da Sie mongoDB verwenden, würde ich mongoDB für Ihre Sitzung Speicher empfehlen, oder redis (was ich nicht mit Knoten versucht habe).

Sie können diese Frage sehen, wie Session-Unterstützung mit Express- und Mongo einzurichten:

How to store session values with Node.js and mongodb?

+0

aw Mist. Warum ist das nicht im Führer gesagt? Ich nahm an, dass es auf Cookies basierte. Vielen Dank! –

+0

welche Mongodb-basierte Sitzung sollte ich verwenden? https://github.com/kcbanner/connect-mongo oder https://github.com/masylum/connect-mongodb? Ich kann keinen Unterschied feststellen. –

+0

Ich benutze connect-mongo und habe keine Probleme gehabt. Es ist ziemlich einfach, den anderen einzustecken, wenn Sie etwas treffen, das Ihnen an einem von ihnen nicht gefällt :) –

Verwandte Themen