Обычно у нас есть базовый контроллер во всех наших приложениях, и он будет обрабатывать всю фильтрацию и проверку условий на основе URL-адреса запроса, роли и некоторых других условий, если все соответствует только выполнению перенаправления URL-адреса, и запрос будет выполненфактический контроллер.
Мое предложение состоит в том, чтобы иметь какой-то механизм для сохранения базового контроллера или некоторый подход ООП во всех ваших контроллерах, что будет намного проще, если вы захотите изменить что-то, что является обычным поведением