Сессия сбрасывается после каждого перезапуска приложения в Node / Express - PullRequest
0 голосов
/ 30 марта 2012

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

Я использую сеансы на основе файлов cookie, поскольку храню только идентификатор пользователя.Моя установка выглядит следующим образом (в coffeescript):

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

И я сохраняю свою сессию, выполняя это:

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

1 Ответ

5 голосов
/ 30 марта 2012

По умолчанию expresssJS использует хранилище в памяти для сессий, поэтому, когда ваше приложение перезагружается, также и сеанс в памяти.

Поскольку вы используете mongoDB, я бы рекомендовал использовать mongoDB для хранения сессий, илиRedis (который я не пробовал с узлом).

Вы можете увидеть этот вопрос о том, как настроить поддержку сеанса с помощью Express и Mongo:

Как хранить значения сеанса сNode.js и mongodb?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...