Нет супер-простых способов сделать это.Вы можете применить атрибут [Authorize]
к контроллеру вместо действия, но он все еще «жестко кодирует» его.
Вы можете создать собственный атрибут авторизации ([ссылка]) 1 , но вам потребуется сохранить значения маршрутизации в базе данных, а также роли, которым был разрешен доступ к маршруту.Однако это просто переносит бремя внесения ручных изменений в базу данных из кода.
Я действительно не думаю, что это действительно следует рассматривать как «жесткое кодирование», поскольку вы должны где-то объявить свое разрешение , и у вас могут быть разные пользователи с разными разрешениями в разных средах.Кто, кроме разработчика, должен лучше знать, какие маршруты требуют какой авторизации?Хотели бы вы нарушить контроль доступа, потому что вы где-то изменили маршрутизацию?