【发布时间】:2011-04-08 18:09:21
【问题描述】:
所以我基本上想使用会话来存储用户名并检查用户是否登录。如果没有,页面将重定向到登录页面。
我正在使用 Node.js、express 和 couchDB。
到目前为止,这是我设置会话的方式
var MemoryStore = require('connect').session.MemoryStore;
app.use(express.cookieParser());
app.use(express.session({
secret: "keyboard cat",
store: new MemoryStore({
reapInterval: 60000 * 10
})
}));
要在会话中存储一些东西,我使用以下代码对吗?
req.session = {user:name);
所以会话变量似乎在我的登录页面上工作。我成功地将用户名存储到会话中但是,当我尝试访问另一个页面上的会话变量时,它给了我错误
Cannot read property 'user' of undefined
我所做的只是:
if (req.session.user){
为什么会发生这个错误?会话对整个应用程序不是全局的吗?还是我在这里完全遗漏了什么。
提前致谢!
【问题讨论】:
-
代码中的
req.session = {user:name);部分不再正确。我认为这适用于旧版本的 express,但现在为避免错误,您需要使用req.session.user=name;。如果不这样做,req.session 上的方法将被覆盖。
标签: javascript session node.js express