PrincipalPermission Constructores

Definición

Inicializa una nueva instancia de la clase PrincipalPermission.

Sobrecargas

PrincipalPermission(PermissionState)

Inicializa una nueva instancia de la clase PrincipalPermission con el objeto PermissionState especificado.

PrincipalPermission(String, String)

Inicializa una nueva instancia de la clase PrincipalPermission para el objeto name y role especificado.

PrincipalPermission(String, String, Boolean)

Inicializa una nueva instancia de la clase PrincipalPermission para los name, role especificados y un estado de autenticación.

PrincipalPermission(PermissionState)

Inicializa una nueva instancia de la clase PrincipalPermission con el objeto PermissionState especificado.

public:
 PrincipalPermission(System::Security::Permissions::PermissionState state);
public PrincipalPermission (System.Security.Permissions.PermissionState state);
new System.Security.Permissions.PrincipalPermission : System.Security.Permissions.PermissionState -> System.Security.Permissions.PrincipalPermission
Public Sub New (state As PermissionState)

Parámetros

state
PermissionState

Uno de los valores de PermissionState.

Excepciones

El parámetro state no es un valor PermissionState válido.

Comentarios

None coincide solo con la entidad de seguridad no autenticada (Name es la cadena vacía (""), no Rolees , Authenticated es false). Unrestricted coincide con todas las entidades de seguridad (Name es null, Role es null).

Nota

Este constructor se incluye para mantener la coherencia con el diseño de otros permisos, pero no es útil en la práctica.

Se aplica a

PrincipalPermission(String, String)

Inicializa una nueva instancia de la clase PrincipalPermission para el objeto name y role especificado.

public:
 PrincipalPermission(System::String ^ name, System::String ^ role);
public PrincipalPermission (string name, string role);
new System.Security.Permissions.PrincipalPermission : string * string -> System.Security.Permissions.PrincipalPermission
Public Sub New (name As String, role As String)

Parámetros

name
String

Nombre del usuario del objeto IPrincipal.

role
String

El rol del usuario del objeto IPrincipal (por ejemplo, Administrador).

Ejemplos

En el ejemplo siguiente se requiere que la entidad de seguridad activa sea administrador. El name parámetro es null, que permite a cualquier usuario que sea administrador pasar la demanda.

Nota En Windows Vista, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador. De forma predeterminada, se le asignará el rol de usuario estándar. Para ejecutar código que requiere permisos de administrador, primero debe elevar el nivel de sus privilegios de usuario estándar a administrador. Para ello, inicie una aplicación haciendo clic con el botón derecho en el icono de la aplicación e indique que desea ejecutarla como administrador.

using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Security::Policy;
using namespace System::Security::Principal;

int main(array<System::String ^> ^args)
{
    System::String^ null;
    AppDomain::CurrentDomain->SetPrincipalPolicy(PrincipalPolicy::WindowsPrincipal);
    PrincipalPermission^ principalPerm = gcnew PrincipalPermission(null, "Administrators" );
      principalPerm->Demand();
      Console::WriteLine("Demand succeeded");
    return 0;
}
using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;

class SecurityPrincipalDemo
{

    public static void Main()
    {
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
        PrincipalPermission principalPerm = new PrincipalPermission(null, "Administrators");
        principalPerm.Demand();
        Console.WriteLine("Demand succeeded.");
    }
}
Imports System.Threading
Imports System.Security.Permissions
Imports System.Security.Principal



Class SecurityPrincipalDemo


    Public Shared Sub Main()
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
        Dim principalPerm As New PrincipalPermission(Nothing, "Administrators")
        principalPerm.Demand()
        Console.WriteLine("Demand succeeded.")

    End Sub
End Class

Comentarios

Tanto el parámetro como el name role parámetro deben coincidir para que este permiso coincida con el activo IPrincipal y asociado IIdentity. Establézcalo name null en para comprobar si hay un usuario en un rol.

Se aplica a

PrincipalPermission(String, String, Boolean)

Inicializa una nueva instancia de la clase PrincipalPermission para los name, role especificados y un estado de autenticación.

public:
 PrincipalPermission(System::String ^ name, System::String ^ role, bool isAuthenticated);
public PrincipalPermission (string name, string role, bool isAuthenticated);
new System.Security.Permissions.PrincipalPermission : string * string * bool -> System.Security.Permissions.PrincipalPermission
Public Sub New (name As String, role As String, isAuthenticated As Boolean)

Parámetros

name
String

Nombre del usuario del objeto IPrincipal.

role
String

El rol del usuario del objeto IPrincipal (por ejemplo, Administrador).

isAuthenticated
Boolean

true para indicar que el usuario está autenticado; en caso contrario, false.

Comentarios

Tanto el parámetro como el name role parámetro deben coincidir para que este permiso coincida con el activo IPrincipal y asociado IIdentity.

Se aplica a