Ce sujet n'a pas encore été évalué - Évaluez ce sujet

PrincipalPermissionAttribute, classe

Autorise les actions de sécurité pour que PrincipalPermission s'applique au code à l'aide de la sécurité déclarative. Cette classe ne peut pas être héritée.

Espace de noms : System.Security.Permissions
Assembly : mscorlib (dans mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] 
public sealed class PrincipalPermissionAttribute : CodeAccessSecurityAttribute
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple=true, Inherited=false) */ 
public final class PrincipalPermissionAttribute extends CodeAccessSecurityAttribute
SerializableAttribute 
ComVisibleAttribute(true) 
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple=true, Inherited=false) 
public final class PrincipalPermissionAttribute extends CodeAccessSecurityAttribute

PrincipalPermissionAttribute peut être utilisé pour demander de manière déclarative que les utilisateurs qui exécutent votre code appartiennent à un rôle spécifié ou aient été authentifiés. L'utilisation de Unrestricted crée un PrincipalPermission avec Authenticated égal à true et Name et Role égaux à référence Null (Nothing en Visual Basic).

La portée autorisée de la déclaration dépend du SecurityAction utilisé. PrincipalPermissionAttribute ne peut pas être appliqué au niveau de l'assembly.

Les informations de sécurité déclarées par un attribut de sécurité sont stockées dans les métadonnées de la cible de l'attribut et sont accessibles par le système au moment de l'exécution. Les attributs de sécurité ne sont utilisés que pour la sécurité déclarative. Pour une sécurité impérative, utilisez la classe d'autorisation correspondante.

Important   avant une demande d'autorisation principale, il est nécessaire de définir la stratégie principale du domaine d'application actuel sur la valeur d'énumération WindowsPrincipal. Par défaut, la stratégie principale est définie sur UnauthenticatedPrincipal. Si vous ne définissez pas la stratégie principale sur WindowsPrincipal, la demande d'autorisation principale échouera. Le code suivant doit être exécuté avant la demande de l'autorisation principale : AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

L'exemple suivant illustre comment PrincipalPermission peut être utilisé de manière déclarative pour exiger que l'utilisateur en cours soit Bob et appartienne au rôle Superviseur.

[PrincipalPermissionAttribute(SecurityAction.Demand, Name="Bob",
Role="Supervisor")]

/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand,
    Name = "Bob", Role = "Supervisor")
 */

L'exemple suivant illustre comment demander que l'identité de l'utilisateur en cours soit Bob, indépendamment de l'appartenance (membership) à un rôle.

[PrincipalPermissionAttribute(SecurityAction.Demand, Name="Bob")]

/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Bob")
 */

L'exemple suivant illustre comment demander uniquement que l'utilisateur soit authentifié.

[PrincipalPermissionAttribute(SecurityAction.Demand, Authenticated=true)]

/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand, 
    Authenticated = true)
 */

System.Object
   System.Attribute
     System.Security.Permissions.SecurityAttribute
       System.Security.Permissions.CodeAccessSecurityAttribute
        System.Security.Permissions.PrincipalPermissionAttribute
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.