2012-02-02 3 views
5

У меня есть простое приложение nodejs/express. Для сохранения аутентификации пользователя я использую:nodejs/express. регенерировать сеанс

req.session.auth = user; 

this, но я нашел способ регенерировать:

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

Мой вопрос: я должен использовать метод регенерировать или просто req.session.auth = пользователь;

+1

Я обнаружил, что паспортные данные действительно хороши при управлении аутентификацией и сеансами в экспресс-приложениях. http://passportjs.org/ –

ответ

9

Я бы наклонился к req.session.regenerate, но это зависит от того, что вы пытаетесь сделать. Если вы просто сделаете req.session.auth = user, вы сохраните auth для сеанса. Однако, если вы используете regenerate, вы фактически очистите весь сеанс, а затем сохраните auth.

Разница в том, что при первом подходе любые другие переменные сеанса в текущем сеансе будут сохраняться. Это зависит от вас, чтобы выяснить, имеет ли это значение для вашего сайта, или если вы предпочитаете, чтобы сеанс был чистым после завершения проверки подлинности.

Смежные вопросы