Javascript 多用户问题Node.js

Javascript 多用户问题Node.js,javascript,node.js,Javascript,Node.js,我正在做一个预算应用程序,一切都很好。。。至少我认为是的。测试一下!现在,您可以登录、添加内容和编辑您的个人资料,效果很好,唯一的问题是,如果其他人在您之后登录,并且您刷新了您的页面,那么它会将您的会话设置为在您之后登录的人 我不确定为什么会发生这种情况,但这与我的主app.js节点有关。我认为我的问题是,当用户登录时,我在app.js中有一个currentUser变量,该变量被传递给了所有不同的路由,但我认为这是不正确的,因为它导致了这些错误。有人建议更好的方法吗 我的app.js文件在这里-

我正在做一个预算应用程序,一切都很好。。。至少我认为是的。测试一下!现在,您可以登录、添加内容和编辑您的个人资料,效果很好,唯一的问题是,如果其他人在您之后登录,并且您刷新了您的页面,那么它会将您的会话设置为在您之后登录的人

我不确定为什么会发生这种情况,但这与我的主
app.js
节点有关。我认为我的问题是,当用户登录时,我在
app.js
中有一个
currentUser
变量,该变量被传递给了所有不同的路由,但我认为这是不正确的,因为它导致了这些错误。有人建议更好的方法吗

我的
app.js
文件在这里--

基本上,如果没有
app.js
空间中的变量,我不知道如何做我想做的事情。任何朝着正确方向的推动都是非常好的。

Node.js in Action(好书)建议使用内置会话中间件来实现类似的功能。它使用签名cookie,因此您还需要cookieParser中间件。它应该看起来像:

app.use(express.cookieParser('your secret'));
app.use(express.session());
然后您可以访问req.session来跟踪当前用户


编辑1:我只是更仔细地看了看你的代码。看起来您已经开始使用cookieParser和会话中间件了。只需尝试在会话中存储当前用户。听起来passport还可以在后续请求中检索用户名。查看

完美。起初我没有意识到req.user是我需要做的全部,而不是一个愚蠢的currentUser全局变量