gpt4 book ai didi

javascript - 如果经过 Express/Node JS 身份验证,则将用户数据放入所有路由中

转载 作者:行者123 更新时间:2023-12-03 07:33:10 25 4
gpt4 key购买 nike

我想知道是否有一种方法可以将用户数据放入 session 中,以默认响应路由。例如写这样的东西:

app.get("/someRandomPath",PutUserData,function(req,res,next)
{
res.render("myView",{title:"my page title"})
}

function PutUserData(req,res,next)
{
if(auth)
{
res.send({user:session.user}
next()
}
else next()
}

或者甚至更好地在应用程序级别做一些事情,例如 app.use(...) ?我想这样做的原因是我想避免在每个路由中检查用户是否经过身份验证,并使用不同的数据渲染 View 。我将非常感谢您的帮助。

最佳答案

查看 Express 文档中的 res.locals。那可能对你有用。

http://expressjs.com/en/api.html#res.locals

另请参阅this answer帮助了解 res.locals 的工作原理。

 app.use(function(req, res, next){
res.locals.user = session.user;
next();
});

前端(jade 模板,但您可以使用任何您想要的模板引擎)

extends layout

block content
p user was set to #{user}

关于javascript - 如果经过 Express/Node JS 身份验证,则将用户数据放入所有路由中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35728870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com