PrincipalPermissionAttribute, classe
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.
/** @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.
/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Bob") */
L'exemple suivant illustre comment demander uniquement que l'utilisateur soit authentifié.
/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand,
Authenticated = true)
*/
System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.PrincipalPermissionAttribute
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.