Partager via


ClaimsPrincipalPermissionAttribute Classe

Définition

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
ClaimsPrincipalPermissionAttribute
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)

S’applique à

Voir aussi