Доброго времени суток, пилю систему с ролевой моделью доступа. Сейчас у меня каждый роутер - отдельный модуль. Хочется сделать что-то вроде такого:
var roleModule = require(./libs/roles);
var events = require('./controllers/events');
app.use(roleModule.hasPermission);
app.use('/events', events);
...
При этом, до вызова roleModule.hasPermission в req.currUser уже записаны данные про юзера (id,role..).
Хочу каким-то образом определить в какой модуль пытаются получить доступ, что б глянуть на разрешения.
Не хочется пилить велосипед через req.path. Также не хочется делать в каждом контроллере вот такого:
var roleModule = require(./libs/roles);
router.use(function(req,res,next){
roleModule.hasPermission(req.currUser.role,'%moduleName%',function(permitted){
if(permitted)
next();
});
});
Может есть метод попроще? Мой вариант выше даст лишние строки кода, хочется лаконичнее.