这里我使用快速会话来存储用户会话,但却发现req.session.user总是未定义。
有趣的是,当我使用chrome plugin postman访问时,没有问题。
那么如何解决呢?
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 :(得分:0)
试试这个,
app.use(session({
resave: false,
secret: 'key',
saveUninitialized: true,
cookie: {
originalMaxAge: 100000,
secure: true
}
}));
我从未使用过originalMaxAge,但我认为它具有与maxAge for cookie类似的功能。
答案 1 :(得分:0)
您不应该设置cookie:
app.use(session({
resave: false,
secret: 'key',
originalMaxAge: 100000
}));
我在电脑上运行,结果就是你想要的。
答案 2 :(得分:0)
试试这个,
app.use(session({
secret: "your-secret",
resave: true,
saveUninitialized: true,
cookie: {
maxAge: 1000000,
secure: true
}
})
而不是使用Original Max Age,您可以使用maxAge并且您没有传递任何值来saveUninitialized,这是一个必要的参数。