【发布时间】:2013-12-31 21:43:37
【问题描述】:
我对会话有点陌生,现在当我尝试使用它们时,例如在成功登录后进入下一页时,会话对我来说总是未定义。
如果我的登录成功,我会执行以下操作
var session = req.session;
session.user_id = String(item._id);
session.user_secure = security.security(session.user_id);
然后我重定向到另一个页面:
res.writeHead(302, {
'Location': '/backstageArea'
});
res.end();
然后我尝试再次这样做:
var session = req.session;
console.log("uid: " + String(session.user_id));
console.log("hid: " + session.user_secure);
这会导致会话未定义。
这是我在 app.configure 中的最后三件事:
app.use(express.cookieParser());
app.use(express.session({secret: 'secret', store: store, key: 'sid', cookie:{secure:true}}));
app.use(app.router);
可能是因为我正在重定向到一个新页面,所以我失去了会话? 还是我做错了什么?
【问题讨论】:
-
我不确定,但您可以将
app.get和app.post放在app.use(app.router)上方? -
您使用的是 https 吗?您使用的是什么类型的商店?
-
@robertklep 我正在使用 var store = new express.session.MemoryStore;并且没有 https。
-
@damphat 不,它不起作用。
-
@just_user no https?,所以删除
secure: true