Express.js 会话在不同网络上不同计算机上的用户之间持续存在吗?
我在 Node.js 下使用 Express 时遇到问题。我正在尝试在用户登录时使用会话来存储身份验证详细信息。我遇到的问题是,一旦一个用户登录,任何其他访问者也会在同一用户下登录,即使他们在同一用户下单独网络上的单独机器。
在我看来,它的工作方式更像是应用程序数据存储而不是会话存储。我做错了什么吗?在我看来,我好像在某个地方做了一些愚蠢的事情!
我在 app.configure 中使用此代码:
app.use(express.cookieParser());
app.use(express.session({secret: 'supersecretkeygoeshere'}));
并且我正在获取并设置我的会话变量,如下所示:
var user = express.session.userId;
干杯,
Nathan
I'm having a problem with Express under Node.js. I'm trying to use sessions to store auth details when a user logs in. The problem I'm having is that once one user is logged in, any other visitors are also logged in under the same user, even if they are on a seperate machine on a seperate network.
It appears to me that it's working more like an application data store than a session store. Am I doing something wrong? Seems to me like I'm doing something stupid somewhere!
I'm using this code in app.configure:
app.use(express.cookieParser());
app.use(express.session({secret: 'supersecretkeygoeshere'}));
And I'm getting and setting my session variables like this:
var user = express.session.userId;
Cheers,
Nathan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是您使用会话的方式,在请求对象上使用会话变量:
请参阅文档:
http://expressjs.com/guide.html#session-support
希望有所帮助: D
That's not how you use sessions, use the session var on a request object:
see docs:
http://expressjs.com/guide.html#session-support
Hope that helps :D