ClaimsPrincipalPermission.Demand Método

Definición

Comprueba si la entidad de seguridad actual está autorizada para los pares de recurso-acción asociados a la instancia actual.

public:
 virtual void Demand();
public void Demand ();
abstract member Demand : unit -> unit
override this.Demand : unit -> unit
Public Sub Demand ()

Implementaciones

Excepciones

La entidad de seguridad actual no se puede asignar desde ClaimsPrincipal.

o bien

No hay ClaimsAuthorizationManager configurados.

La comprobación de la autorización no se pudo realizar.

Ejemplos

En el ejemplo siguiente se muestra cómo proteger un recurso mediante el Demand método . El administrador de autorización de notificaciones configurado se invoca para evaluar la entidad de seguridad actual con el recurso y la acción especificados. Si la entidad de seguridad actual no está autorizada para la acción especificada en el recurso especificado, se produce una SecurityException excepción ; de lo contrario, la ejecución continúa.

//
// 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();

Comentarios

La entidad de seguridad actual debe estar autorizada para todos los pares de acción de recursos asociados a esta instancia o se produce la SecurityException excepción.

Aunque el constructor solo toma un único recurso y acción, ClaimsPrincipalPermission los objetos se pueden combinar a través de los Union métodos y Intersect . El permiso creado a través de estos métodos puede contener varios pares de acción de recursos.

El Demand método invoca el ClaimsAuthorizationManager.CheckAccess método del administrador de autorización de notificaciones configurado con un AuthorizationContext compuesto por la entidad de seguridad activa (CurrentPrincipal), el recurso y la acción de cada uno de los pares de acciones de recursos contenidos en el permiso. Demand Para que se realice correctamente, la entidad de seguridad activa debe estar autorizada para todos los pares de acción de recursos contenidos en el permiso.

Se aplica a