【发布时间】:2015-04-17 19:52:05
【问题描述】:
我正在使用 express/node.js 创建一个简单的身份验证系统,当然我正在使用会话进行登录。在 app.js 中,这是我的会话配置代码:
app.use(session({
secret: 'Viu65Cc5VTU6cu',
resave: true,
saveUninitialized: true,
cookie: { secure: true }
}));
据我所知,一旦我设置了像req.session.session_name 这样的会话,它应该一切正常。相反,在成功验证后,我将用户的 id 分配给一个名为 user id 的会话。
req.session.user_id = doc.id;
然后我希望这个值一直保持到我调用销毁函数或关闭浏览器。但是,第二次我响应 POST 请求(在应用程序的不同部分)我 console.log 会话以查看它是否正在工作并且存在,但是我得到“未定义”。无论我在哪里调用 console.log,我都会得到未定义的。页面刷新后会话似乎也结束了,这与会话的要点略有矛盾,不是吗? 可能是配置不对?或者这就是 express 会话的表现方式?
如果您能提供任何建议,请提前感谢。
P.S 当我最初设置会话时,我立即尝试 console.log 值,我确实得到了一个有效值。之后它似乎变得未定义。
【问题讨论】:
-
你在使用 HTTPS 吗?
-
不,它只是一个安全性很低的标准 ubuntu 服务器
标签: javascript node.js session cookies express