ClaimsPrincipalPermission.Demand Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет, является ли текущий субъект авторизованным для пар ресурс-действие, связанных с текущим экземпляром.
public:
virtual void Demand();
public void Demand ();
abstract member Demand : unit -> unit
override this.Demand : unit -> unit
Public Sub Demand ()
Реализации
Исключения
Текущий субъект не может быть назначен из объекта ClaimsPrincipal.
-или-
ClaimsAuthorizationManager не настроен.
Проверка авторизации завершилась с ошибкой.
Примеры
В следующем примере показано, как защитить ресурс с помощью Demand метода . Настроенный диспетчер авторизации утверждений вызывается для оценки текущего субъекта по указанному ресурсу и действию. Если текущий субъект не авторизован для указанного действия в указанном ресурсе SecurityException , возникает исключение ; в противном случае выполняется.
//
// Method 2. Programmatic check using the permission class
// Follows model found at http://msdn.microsoft.com/library/system.security.permissions.principalpermission.aspx
//
ClaimsPrincipalPermission cpp = new ClaimsPrincipalPermission("resource", "action");
cpp.Demand();
Комментарии
Текущий субъект должен быть авторизован для всех пар "ресурс—действие", связанных с этим экземпляром SecurityException , иначе будет создано исключение.
Хотя конструктор принимает только один ресурс и действие, ClaimsPrincipalPermission объекты можно объединять с помощью Union методов и Intersect . Разрешение, созданное с помощью этих методов, может содержать несколько пар "ресурс—действие".
Метод Demand вызывает ClaimsAuthorizationManager.CheckAccess метод настроенного диспетчера авторизации утверждений с активным субъектом AuthorizationContext (CurrentPrincipal), ресурсом и действием для каждой пары "ресурс-действие", содержащейся в разрешении. Для успешного Demand выполнения активного участника необходимо авторизовать для всех пар "ресурс-действие", содержащихся в разрешении .