У меня следующая структура каталогов
routes
- v1
- me
- index.js
- groups
- index.js
- payments.js
Я сделал так, что к routes/v1/groups/index.js
нельзя получить доступ, если пользователь не вошел в систему (локальный паспорт)
const controller = require(global.settings.paths.controllers +
'/v1/groups/index.js');
module.exports = function(router) {
//Must be logged on
router.use(
function(req, res, next) {
if (req.isAuthenticated()) {
return next();
} else {
return error('errors.logged_in.name', 'errors.logged_in.desc', res);
}
}
);
//Base
router.get('/', controller.profile);
};
Я заметил, что промежуточное ПО, переданное в router.use () в сценарии index.js, передается на routes/v1/groups/payments.js
, который на данный момент является основным фиктивным маршрутом.
1) Все ли промежуточные программы router.use () передаются на последующие маршруты?2) Если так, как я могу избежать этого (например, мне нужно включить промежуточное программное обеспечение на отдельный маршрут?).3) Есть ли возможность устранить это поведение?
В идеале, при регистрации промежуточного программного обеспечения было бы замечательно, если бы вы позволили ему сохраняться на разных маршрутах промежуточного программного обеспечения на основе промежуточного программного обеспечения.Еще одна проблема, которую я предвижу в моем примере, - это когда payment.js загружается до index.js.если я не добавлю промежуточную программу в этот скрипт, она будет доступна.Таким образом, должен быть некоторый контроль относительно того, как маршруты присоединяются.
Любые советы и / или комментарии очень приветствуются!
Спасибо