Sah*_*bov 8 node.js express passport.js
现在使用Passport.js和Express进行多个项目,我注意到自己一遍又一遍地这样做,即{ user: req.user }
明确指定我的Express路线.偶尔我会忘记传递它,突然间用户甚至不再登录了.
如何在路由中传递user
变量而不必为此类路由显式写入?
app.get = function(req, res, next) {
res.render('home', {
title: 'Home',
user: req.user
});
};
Run Code Online (Sandbox Code Playgroud)
我认为Everyauth有这样的Express帮助,但是Passport.js呢?
rob*_*lep 31
你可以使用一个简单的中间件:
app.use(function(req, res, next) {
res.locals.user = req.user;
next();
});
Run Code Online (Sandbox Code Playgroud)
这将使user
所有模板中的变量可用,前提是req.user
已填充.确保在声明中间件之后passport.session
但在任何路由之前声明该中间件.
归档时间: |
|
查看次数: |
3911 次 |
最近记录: |