Я хотел бы создать что-то вроде перед фильтром , который позволяет мне сделать текущего пользователя доступным во всех действиях. Подход followint работает хорошо, и мне даже не нужно было объявлять глобальную переменную :
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
, потому что я не знаю, правильно ли изменять что-то, что не принадлежит мной? Есть лучший способ сделать это?