【发布时间】:2013-03-08 10:47:33
【问题描述】:
我正在尝试使用 connect/express cookieSession() 将我的 node.js 会话存储在 cookie 中(从而避免使用服务器端会话存储)。这将帮助我在用户登录时“记住”用户,即使在服务器重新启动后也能保持会话处于活动状态。
我想用cookieSession() 来做这件事:
app.use( express.cookieSession( { secret: 'secret_key' } ) );
app.use( function (req, res, next) {
if ( req.method == 'POST' && req.url == '/login' ) {
if ( req.body.remember ) {
req.session.cookie.maxAge = 30*24*60*60*1000; // Rememeber 'me' for 30 days
} else {
req.session.cookie.expires = false;
}
}
next();
});
但是,这不起作用,因为 req.session.cookie 未定义。我也尝试了以下方法,但似乎没有用:
app.use( express.session( { secret: 'secret_key' } ) );
app.use( function (req, res, next) {
if ( req.method == 'POST' && req.url == '/login' ) {
if ( req.body.remember ) {
req.cookies['connect.sess'].maxAge = 30*24*60*60*1000; // Rememeber 'me' for 30 days
} else {
rreq.cookies['connect.sess'].expires = false;
}
}
next();
});
【问题讨论】:
标签: node.js express session-cookies connect