现在在多个项目中使用 Passport.js 和 Express,我注意到自己一遍又一遍地这样做,即指定{ user: req.user }
明确用于我的 Express 路线。有时我忘记传递它,突然之间就像用户甚至不再登录一样。
我怎样才能通过user
variable在我的路线中,而不必像这样为每条路线明确编写它?
app.get = function(req, res, next) {
res.render('home', {
title: 'Home',
user: req.user
});
};
I think 凡奥特有这样的 Express 助手,但是 Passport.js 有吗?
您可以使用一个简单的中间件来实现:
app.use(function(req, res, next) {
res.locals.user = req.user;
next();
});
这将使user
变量在所有模板中可用,前提是req.user
已有人居住。确保您声明了该中间件after你声明passport.session
中间件,但在任何路由之前。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)