2015-12-26 4 views
0

Здесь я использовал экспресс-сессию для хранения пользовательской сессии, но только для того, чтобы найти, что req.session.user всегда не определено.Экспресс-сессия не хранит сеанс

Приятно, что, когда я использовал почтальону плагина для Chrome, нет проблем.

так как это исправить?

var session = require('express-session'); 
app.use(session({ 
    resave: false, 
    secret: 'key', 
    saveUninitialized: 
    originalMaxAge: 100000, 
    cookie: { 
     secure: true 
    } 
})); 

app.use(function(req, res, next) { 
    console.log(req.session.user); 
    if (!req.session.user) 
     req.session.user = {'zh':'123'}; 
    next(); 
}); 

ответ

0

Попробуйте это,

app.use(session({ 
    resave: false, 
    secret: 'key', 
    saveUninitialized: true, 
    cookie: { 
     originalMaxAge: 100000, 
     secure: true 
    } 
})); 

Я никогда не использовал originalMaxAge, но я предполагаю, что он имеет аналогичную функцию, как MaxAge для печенья.

Ссылка: https://github.com/expressjs/session

0

Вы не должны устанавливать куки:

app.use(session({ 
    resave: false, 
    secret: 'key', 
    originalMaxAge: 100000 
})); 

Я работать на компьютере, в результате чего вы хотите.

0

Попробуйте это,

app.use(session({ 
    secret: "your-secret", 
    resave: true, 
    saveUninitialized: true, 
    cookie: { 
     maxAge: 1000000, 
     secure: true 
    } 
}) 

, а не с помощью оригинала Max Age, вы можете использовать MaxAge и вы не прошли никакого значения saveUninitialized и что является необходимым параметром.