Я создаю веб-API с пользователями, имеющими разные роли, кроме того, как и любое другое приложение, я не хочу, чтобы пользователь A имел доступ к ресурсам пользователя B. Как показано ниже:
Заказов/1 (Пользователь А)
Заказов/2 (Пользователь Б)
Конечно, я могу получить JWT из запроса и запросить базу данных, чтобы проверить, владеет ли этот пользователь этим заказом, но это сделает действия моего контроллера слишком тяжелыми.
Этот пример использует AuthorizeAttribute, но он кажется слишком широким, и я Придется добавить множество условных выражений для всех маршрутов в API, чтобы проверить, к какому маршруту осуществляется доступ, а затем запросить базу данных, сделав несколько соединений, которые ведут обратно к таблице пользователей, чтобы вернуть, является ли запрос действительным или нет.
Обновить
Для Routes первой линией защиты является политика безопасности, требующая определенных требований.
Мой вопрос касается второй линии защиты, которая отвечает за то, чтобы пользователи получали доступ только к своим данным/ресурсам.
Существуют ли какие-либо стандартные подходы в этом сценарии?