Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
PrincipalPermissionAttribute (Clase)

Permite aplicar acciones de seguridad de PrincipalPermission al código mediante el uso de seguridad declarativa. No se puede heredar esta clase.

Espacio de nombres: System.Security.Permissions
Ensamblado: mscorlib (en mscorlib.dll)

Visual Basic (Declaración)
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _
Public NotInheritable Class PrincipalPermissionAttribute
    Inherits CodeAccessSecurityAttribute
Visual Basic (Uso)
Dim instance As PrincipalPermissionAttribute
C#
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] 
public sealed class PrincipalPermissionAttribute : CodeAccessSecurityAttribute
C++
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Method, AllowMultiple=true, Inherited=false)] 
public ref class PrincipalPermissionAttribute sealed : public CodeAccessSecurityAttribute
J#
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple=true, Inherited=false) */ 
public final class PrincipalPermissionAttribute extends CodeAccessSecurityAttribute
JScript
SerializableAttribute 
ComVisibleAttribute(true) 
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple=true, Inherited=false) 
public final class PrincipalPermissionAttribute extends CodeAccessSecurityAttribute

Es posible utilizar PrincipalPermissionAttribute para solicitar de forma declarativa que los usuarios que ejecutan el código pertenezcan a una función determinada o se hayan autenticado. El uso de Unrestricted crea PrincipalPermission con Authenticated establecido en true y Name y Role establecidos en referencia de objeto null (Nothing en Visual Basic).

El ámbito permitido de la declaración depende del SecurityAction utilizado. PrincipalPermissionAttribute no se puede aplicar en el nivel de ensamblado.

La información de seguridad declarada por un atributo de seguridad se almacena en los metadatos del destino del atributo y el sistema obtiene acceso a él en tiempo de ejecución. Los atributos de seguridad sólo se utilizan para la seguridad declarativa. Para obtener una seguridad imperativa, utilice la clase de permiso correspondiente.

Importante antes de crear una petición de permiso principal, es necesario establecer la directiva principal de dominio de aplicación actual en el valor de enumeración WindowsPrincipal. De manera predeterminada, esta directiva se establece en UnauthenticatedPrincipal. De no establecerse en WindowsPrincipal, fallará la petición de permiso principal. Antes de que se produzca la petición, debería ejecutarse el siguiente código: AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

El siguiente ejemplo muestra cómo se puede utilizar PrincipalPermission de forma declarativa para solicitar que el usuario actual sea Bob y pertenezca a la función de Supervisor.

Visual Basic
<PrincipalPermissionAttribute(SecurityAction.Demand, _
 Name := "Bob", Role := "Supervisor")> Public Class SampleClass
C#
[PrincipalPermissionAttribute(SecurityAction.Demand, Name="Bob",
Role="Supervisor")]
C++
[PrincipalPermissionAttribute(SecurityAction::Demand,Name="Bob",
Role="Supervisor")]
J#
/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand,
    Name = "Bob", Role = "Supervisor")
 */

El siguiente ejemplo muestra cómo solicitar que la identidad del usuario actual sea Bob independientemente de su pertenencia a una función determinada.

Visual Basic
<PrincipalPermissionAttribute(SecurityAction.Demand, _
 Name := "Bob")> Public Class SampleClass
C#
[PrincipalPermissionAttribute(SecurityAction.Demand, Name="Bob")]
C++
[PrincipalPermissionAttribute(SecurityAction::Demand,Name="Bob")]
J#
/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Bob")
 */

En el siguiente ejemplo se muestra cómo solicitar sólo que el usuario esté autenticado.

Visual Basic
<PrincipalPermissionAttribute(SecurityAction.Demand, _
 Authenticated := True)> Public Class SampleClass
C#
[PrincipalPermissionAttribute(SecurityAction.Demand, Authenticated=true)]
C++
[PrincipalPermissionAttribute(SecurityAction::Demand,Authenticated=true)]
J#
/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand, 
    Authenticated = true)
 */
System.Object
   System.Attribute
     System.Security.Permissions.SecurityAttribute
       System.Security.Permissions.CodeAccessSecurityAttribute
        System.Security.Permissions.PrincipalPermissionAttribute
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker