【发布时间】:2016-03-10 03:57:37
【问题描述】:
所以下面的 sn-p 显示了如何设置 RedisStore 并从传入的 GET 请求中获取 sessionID。但是,sessionStore.get( req.cookies['connect.sid'] ) 的计算结果为 undefined。
有人可以指出我做错了什么吗?从req.cookies['connect.sid'] 返回的示例sessionID 如下所示:
var expressSession = require('express-session');
var RedisStore = require('connect-redis')(expressSession);
var sessionStore = new RedisStore({host: '127.0.0.1', port: 6379});
app.use(expressSession({store: sessionStore,
secret: 'xxxx' }));
app.get("/*", function(req, res, next) {
if(typeof req.cookies['connect.sid'] !== 'undefined') {
console.log('sessionID: ', req.cookies['connect.sid']);
console.log( sessionStore.get(req.cookies['connect.sid'] ));
}
next();
});
【问题讨论】:
-
为什么不使用
req.session?除非您想从当前请求中获取用户以外的其他人的会话数据? -
我正在尝试从 sessionStore 获取它以使用 socket.io 对用户进行身份验证。
标签: node.js session express redis socket.io