Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad Thread.CurrentPrincipal

 

Publicado: octubre de 2016

Obtiene o establece la entidad de seguridad actual del subproceso (de la seguridad basada en roles).

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

public static IPrincipal CurrentPrincipal {
	get;
	[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.ControlPrincipal)]
	set;
}

Valor de propiedad

Type: System.Security.Principal.IPrincipal

Valor de IPrincipal que representa el contexto de seguridad.

Exception Condition
SecurityException

El autor de llamada no tiene el permiso necesario para establecer la entidad de seguridad.

The following code example shows how to set and retrieve the principal of a thread.

using System;
using System.Security;
using System.Security.Permissions;
using System.Security.Principal;
using System.Threading;

class Principal
{
    static void Main()
    {
        string[] rolesArray = {"managers", "executives"};
        try
        {
            // Set the principal to a new generic principal.
            Thread.CurrentPrincipal = 
                new GenericPrincipal(new GenericIdentity(
                "Bob", "Passport"), rolesArray);
        }
        catch(SecurityException secureException)
        {
            Console.WriteLine("{0}: Permission to set Principal " +
                "is denied.", secureException.GetType().Name);
        }

        IPrincipal threadPrincipal = Thread.CurrentPrincipal;
        Console.WriteLine("Name: {0}\nIsAuthenticated: {1}" +
            "\nAuthenticationType: {2}", 
            threadPrincipal.Identity.Name, 
            threadPrincipal.Identity.IsAuthenticated,
            threadPrincipal.Identity.AuthenticationType);
    }
}

SecurityPermission

to manipulate the principal object. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.ControlPrincipal.

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: