Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Свойство Thread.CurrentPrincipal

 

Опубликовано: Октябрь 2016

Возвращает или задает текущего участника потока (для безопасности на основе ролей).

Пространство имен:   System.Threading
Сборка:  mscorlib (в mscorlib.dll)

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

Значение свойства

Type: System.Security.Principal.IPrincipal

Значение IPrincipal, представляющее контекст безопасности.

Exception Condition
SecurityException

Вызывающий объект не имеет разрешений, необходимых для задания участника.

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
Доступно с 1.1
Вернуться в начало
Показ: