2012-02-02 5 views
5

Ho una semplice applicazione nodejs/express. Per salvare l'autenticazione degli utenti che uso:nodejs/express. rigenerare la sessione

req.session.auth = user; 

ma this metodo rigenerare ho trovato:

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

La mia domanda è: devo usare il metodo rigenerare o semplicemente req.session.auth = utente;

+1

Ho trovato che passportjs è veramente bravo a gestire l'autenticazione e le sessioni nelle applicazioni express. http://passportjs.org/ –

risposta

9

Mi sporgo verso lo req.session.regenerate, ma dipende da cosa si sta tentando di fare. Se si fa semplicemente req.session.auth = user, si salverà l'autenticazione nella sessione. Tuttavia, se si utilizza regenerate, verrà effettivamente cancellata l'intera sessione e quindi salvata l'autenticazione.

La differenza è che con il primo approccio, qualsiasi altra variabile di sessione nella sessione corrente persisterà. Spetta a te capire se questo ha senso per il tuo sito, o se preferisci che la sessione sia pulita una volta completata l'autenticazione.