2012-02-02 84 views
5

我有一個簡單的nodejs/express應用程序。爲了節省用戶認證使用:nodejs/express。重新生成會話

req.session.auth = user; 

this我找到重生的方法:

req.session.regenerate(function (err) { 
    req.session.auth = user; 
}); 

我的問題是:我應該使用再生方法或者req.session.auth =用戶;

+1

我發現passportjs非常擅長在快速應用程序中管理身份驗證和會話。 http://passportjs.org/ – 2012-02-02 20:31:51

回答

9

我會傾向req.session.regenerate,但這取決於你想要做什麼。如果你只是做req.session.auth = user,那麼你會保存auth到會話。但是,如果您使用regenerate,則實際上您將清除整個會話,然後保存身份驗證。

區別在於,使用第一種方法時,當前會話中的任何其他會話變量都將保留。您需要確定這對您的網站是否有意義,或者您是否希望在完成身份驗證後將會話清理乾淨。