Политика аутентификации - это путь. Да, это может быть основано на несколько «статической» политике, то есть несколько действий / контроллеров могут в конечном итоге использовать что-то вроде [Authorize(Policy = "MyPolicy")]
, но сами политики не являются статичными. Вы можете определить любое количество условий в обработчике политики. Вы также можете смешивать и сочетать. Итак, если, скажем, что-то доступно только для роли «Foo», но вам также необходимы разрешения на уровне объекта, определенные политикой «Bar», вы, безусловно, можете сделать что-то вроде [Authorize(Roles = "Foo", Policy = "Bar")]
.