2012-02-02 15 views
5

Mam prostą aplikację nodejs/express. Aby zapisać uwierzytelnienia użytkownika używam:nodejs/express. sesja regeneracji

req.session.auth = user; 

ale this mam znaleźć sposób regenerować:

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

Moje pytanie brzmi: należy użyć metody zregenerować czy tylko req.session.auth = user;

+1

Znalazłem passportjs, aby być naprawdę dobrym w zarządzaniu uwierzytelnianiem i sesjami w aplikacjach ekspresowych. http://passportjs.org/ –

Odpowiedz

9

Pochylam się w stronę req.session.regenerate, ale to zależy od tego, co próbujesz zrobić. Jeśli po prostu wykonasz req.session.auth = user, zapiszesz autoryzację do sesji. Jeśli jednak użyjesz regenerate, faktycznie wyczyścisz całą sesję, a następnie zapiszemy autoryzację.

Różnica polega na tym, że przy pierwszym podejściu pozostałe zmienne sesji w bieżącej sesji będą się utrzymywać. Od Ciebie zależy, czy ma to sens dla Twojej witryny, czy wolisz, aby sesja była czysta po zakończeniu uwierzytelniania.