ClaimsPrincipalPermissionAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un attribut de sécurité utilisé pour assigner de façon déclarative des vérifications d'accès selon la logique fournie par l'instance ClaimsAuthorizationManager dans le contexte d'application actuel. Cette classe ne peut pas être héritée.
public ref class ClaimsPrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)]
public sealed class ClaimsPrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)>]
type ClaimsPrincipalPermissionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class ClaimsPrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Héritage
- Attributs
Exemples
L’exemple suivant montre comment protéger une méthode en la décorant avec l’attribut ClaimsPrincipalPermissionAttribute . L’attribut évalue si l’accès doit être accordé au principal actuel en tirant parti de la logique fournie par le ClaimsAuthorizationManager instance dans le contexte de l’application. Si le principal actuel n’est pas autorisé pour l’action spécifiée sur la ressource spécifiée, un SecurityException est levée ; sinon, l’exécution se poursuit.
//
// Declarative access check using the permission class. The caller must satisfy both demands.
//
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource", Operation = "action")]
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource1", Operation = "action1")]
static void ProtectedMethod()
{
}
Le code XML suivant montre la configuration minimale requise pour utiliser un gestionnaire d’autorisation de revendications personnalisées avec la ClaimsPrincipalPermissionAttribute classe . Vous devez au minimum déclarer les system.identityModel
sections et de <configSection>
l’élémentsystem.identityModel.services
, puis spécifier votre gestionnaire d’autorisations dans un <élément claimsAuthorizationManager> sous la configuration d’identité par défaut. Cela garantit que votre gestionnaire d’autorisations est référencé à partir de la configuration de fédération par défaut. Vous pouvez également spécifier le nom de la configuration d’identité sous laquelle votre gestionnaire d’autorisations est spécifié dans l’attribut identityConfigurationName
de l’élément <federationConfiguration> .
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!-- WIF configuration sections -->
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.identityModel>
<identityConfiguration>
<claimsAuthorizationManager type ="MyClaimsAuthorizationManager.MyClaimsAuthorizationManager, MyClaimsAuthorizationManager"/>
</identityConfiguration>
</system.identityModel>
</configuration>
Remarques
ClaimsPrincipalPermissionAttribute est utilisé pour demander de manière déclarative un case activée d’accès à l’aide du configuré ClaimsAuthorizationManager.
Vous devez spécifier l’une des SecurityAction valeurs, un Resource
et un Operation
dans votre ClaimsPrincipalPermissionAttribute déclaration. Les Resource
propriétés et Operation
spécifient la ressource et l’action pour lesquelles le principal actuel (Thread.CurrentPrincipal) doit être autorisé pour que l’exécution se poursuive. Si le principal actuel n’est pas autorisé à effectuer l’action (opération) spécifiée sur la ressource spécifiée, un SecurityException est levée.
Important
La ClaimsPrincipalPermissionAttribute classe utilise le gestionnaire d’autorisation des revendications configuré par qui IdentityConfiguration est défini sous la FederatedAuthentication.FederationConfiguration propriété . Cela est vrai dans tous les cas, même dans les scénarios où WS-Federation n’est pas utilisé ; par exemple, les applications web actives (WCF) et les applications console. Vous pouvez spécifier le gestionnaire d’autorisation des revendications dans la configuration ou par programme. Pour spécifier le gestionnaire d’autorisation des revendications dans un fichier de configuration, définissez l’élément <claimsAuthorizationManager> sous un <élément identityConfiguration> et assurez-vous que cette configuration d’identité est référencée par l’élément <federationConfiguration> chargé par le runtime (par exemple, en définissant l’attribut identityConfigurationName
). Pour définir le gestionnaire d’autorisation des revendications par programmation, fournissez un gestionnaire pour l’événement FederatedAuthentication.FederationConfigurationCreated .
Constructeurs
ClaimsPrincipalPermissionAttribute(SecurityAction) |
Initialise une nouvelle instance de la classe ClaimsPrincipalPermissionAttribute. |
Propriétés
Action |
Obtient ou définit une action de sécurité. (Hérité de SecurityAttribute) |
Operation |
Obtient ou définit l'opération pour laquelle l'entité actuelle doit être autorisée sur la ressource spécifiée. |
Resource |
Obtient ou définit la ressource dans laquelle l'entité doit être autorisée à exécuter l'action spécifiée (opération). |
TypeId |
Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute. (Hérité de Attribute) |
Unrestricted |
Obtient ou définit une valeur indiquant si l'autorisation complète (sans restriction) d'accès à la ressource protégée par l'attribut est déclarée. (Hérité de SecurityAttribute) |
Méthodes
CreatePermission() |
Crée une instance de la classe ClaimsPrincipalPermission basée sur l'instance actuelle. |
Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
GetHashCode() |
Retourne le code de hachage de cette instance. (Hérité de Attribute) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IsDefaultAttribute() |
En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute) |
Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute) |