A>>Если я правильно все понимаю — вам нужно детектить и перенаправлять — предлагаю
A>>1. написать свой ActionFilter
A>Не очень хорошо — как я понимаю нужно писать атрибут моего ActionFilter перед каждым Action в каждом контроллере.
A>>2. или использовать свой базовый контролер и от него наследоваться.
A>Пока самый приемлемый вариант.
A>Но хочется разделения ответственности — контроллер управляет поведением UI, а роутингом занимается роутер
Можно совместить приятное с полезным, просто указав Inherited = true для вашего атрибута