Passport.js – 将{user:req.user}隐式传递给模板?
现在使用Passport.js和Express进行多个项目,我已经注意到自己一遍又一遍地做了这些工作,即为我的快速路由明确指定{ user: req.user }
。 偶尔忘记通过它,突然就像用户甚至没有login了。
我怎么能传递一个user
variables在我的路线,而不必显式地写这样的每条路线?
app.get = function(req, res, next) { res.render('home', { title: 'Home', user: req.user }); };
我认为everyauth有这样的快递帮手,但Passport.js吗?
你可以使用一个简单的中间件:
app.use(function(req, res, next) { res.locals.user = req.user; next(); });
这将使user
variables在所有模板中可用,前提是req.user
被填充。 确保在声明passport.session
中间件之后,但在任何路由之前声明该中间件。