【发布时间】:2012-05-02 10:45:13
【问题描述】:
我想创建一种 before 过滤器,它允许我使当前用户在所有操作中都可用。以下方法效果很好,我什至不需要声明全局变量:
app.use(function(req, res, next){
if(req.session.user_id){
/* Get user from database
and share it in a variable
that can be accessed frooom ...
*/
User.find({ /* ... */ }, function(err, users){
if(users.length == 1){
req.current_user = users[0];
}
next();
});
}
else{
next();
}
});
app.get('/', function(req, res){
// ... here!!
console.log(req.current_user);
res.render('index', {
current_user: req.current_user,
});
});
但我仍然不确定是否可以操纵req,因为我不知道更改不属于我的东西是否正确?有没有更好的方法来做到这一点?
【问题讨论】:
标签: node.js express middleware