У меня ситуация, когда я использую несколько фильтров авторизации для обеспечения различных условий независимо друг от друга:Можно ли переопределить только один фильтр авторизации?
<UserLevelCanAccessThings>
<UserHasPaidForThings>
Partial Public Class ThingsController
Inherits Controller
Function EditThing() As ActionResult
...
Return View()
End Function
<OverrideUserIsPaid>
Function PayToUnlockThings() As ActionResult
...
Return View()
End Function
End Class
Теперь у меня есть ситуации, когда мне нужно иметь байпас действие только один из фильтры. Например, предположим, что вам разрешен доступ к этому контроллеру для работы с Things
, если вы достигли достаточно высокого уровня (первый фильтр), а затем заплатили за этот доступ (второй фильтр).
Метод оплаты должен обеспечить первое условие, но НЕ второе, потому что я не хочу блокировать пользователя от оплаты, потому что он не оплачен, когда он пытается оплатить!
(я знаю, что я мог двигаться метод Pay где-то еще, но в моей реальной ситуации это нежелательно. Это просто пример, чтобы проиллюстрировать то, что я прошу.)
А глобальные OverrideAuthorization
атрибутов очереди выключить ВСЕ авторизацию, но мне нужно быть более избирательным. Как я могу это сделать?
Вы можете проверить это: http://stackoverflow.com/questions/16270190/how-does-one-get-a-list-of-authorization-filters-that-have-been-applied-to-a- но это похоже на то, что вы хотите сделать, вероятно, должно быть спроектировано по-другому. Возможно, претензии или какая-то другая парадигма роли или прав? –