WindowsPrincipal Класс

Определение

Включает код для проверки членства пользователя Windows в группе Windows.Enables code to check the Windows group membership of a Windows user.

public ref class WindowsPrincipal : System::Security::Claims::ClaimsPrincipal
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class WindowsPrincipal : System.Security.Claims.ClaimsPrincipal
type WindowsPrincipal = class
    inherit ClaimsPrincipal
Public Class WindowsPrincipal
Inherits ClaimsPrincipal
Наследование
WindowsPrincipal
Атрибуты

Примеры

В следующем примере показано, как использовать перегрузки метода IsInRole.The following example demonstrates how to use the IsInRole method overloads. Перечисление WindowsBuiltInRole используется в качестве источника для относительных идентификаторов (RID), которые обозначают встроенные роли.The WindowsBuiltInRole enumeration is used as the source for the relative identifiers (RIDs) that identify the built-in roles. Идентификаторы RID используются для определения ролей текущего участника.The RIDs are used to determine the roles of the current principal.

public:
   static void DemonstrateWindowsBuiltInRoleEnum()
   {
      AppDomain^ myDomain = Thread::GetDomain();

      myDomain->SetPrincipalPolicy( PrincipalPolicy::WindowsPrincipal );
      WindowsPrincipal^ myPrincipal = dynamic_cast<WindowsPrincipal^>(Thread::CurrentPrincipal);

      Console::WriteLine( "{0} belongs to: ", myPrincipal->Identity->Name );

      Array^ wbirFields = Enum::GetValues( WindowsBuiltInRole::typeid );

      for each ( Object^ roleName in wbirFields )
      {
         try
         {
            Console::WriteLine( "{0}? {1}.", roleName,
               myPrincipal->IsInRole(  *dynamic_cast<WindowsBuiltInRole^>(roleName) ) );
         }
         catch ( Exception^ ) 
         {
            Console::WriteLine( "{0}: Could not obtain role for this RID.",
               roleName );
         }
      }
   }
using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;

class SecurityPrincipalDemo
{
    public static void DemonstrateWindowsBuiltInRoleEnum()
    {
        AppDomain myDomain = Thread.GetDomain();

        myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
        WindowsPrincipal myPrincipal = (WindowsPrincipal)Thread.CurrentPrincipal;
        Console.WriteLine("{0} belongs to: ", myPrincipal.Identity.Name.ToString());
        Array wbirFields = Enum.GetValues(typeof(WindowsBuiltInRole));
        foreach (object roleName in wbirFields)
        {
            try
            {
                // Cast the role name to a RID represented by the WindowsBuildInRole value.
                Console.WriteLine("{0}? {1}.", roleName,
                    myPrincipal.IsInRole((WindowsBuiltInRole)roleName));
                Console.WriteLine("The RID for this role is: " + ((int)roleName).ToString());
            }
            catch (Exception)
            {
                Console.WriteLine("{0}: Could not obtain role for this RID.",
                    roleName);
            }
        }
        // Get the role using the string value of the role.
        Console.WriteLine("{0}? {1}.", "Administrators",
            myPrincipal.IsInRole("BUILTIN\\" + "Administrators"));
        Console.WriteLine("{0}? {1}.", "Users",
            myPrincipal.IsInRole("BUILTIN\\" + "Users"));
        // Get the role using the WindowsBuiltInRole enumeration value.
        Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator,
           myPrincipal.IsInRole(WindowsBuiltInRole.Administrator));
        // Get the role using the WellKnownSidType.
        SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
        Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid));
    }

    public static void Main()
    {
        DemonstrateWindowsBuiltInRoleEnum();
    }
}
Imports System.Threading
Imports System.Security.Permissions
Imports System.Security.Principal

Class SecurityPrincipalDemo

    Public Shared Sub DemonstrateWindowsBuiltInRoleEnum()
        Dim myDomain As AppDomain = Thread.GetDomain()

        myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
        Dim myPrincipal As WindowsPrincipal = CType(Thread.CurrentPrincipal, WindowsPrincipal)
        Console.WriteLine("{0} belongs to: ", myPrincipal.Identity.Name.ToString())
        Dim wbirFields As Array = [Enum].GetValues(GetType(WindowsBuiltInRole))
        Dim roleName As Object
        For Each roleName In wbirFields
            Try
                ' Cast the role name to a RID represented by the WindowsBuildInRole value.
                Console.WriteLine("{0}? {1}.", roleName, myPrincipal.IsInRole(CType(roleName, WindowsBuiltInRole)))
                Console.WriteLine("The RID for this role is: " + Fix(roleName).ToString())

            Catch
                Console.WriteLine("{0}: Could not obtain role for this RID.", roleName)
            End Try
        Next roleName
        ' Get the role using the string value of the role.
        Console.WriteLine("{0}? {1}.", "Administrators", myPrincipal.IsInRole("BUILTIN\" + "Administrators"))
        Console.WriteLine("{0}? {1}.", "Users", myPrincipal.IsInRole("BUILTIN\" + "Users"))
        ' Get the role using the WindowsBuiltInRole enumeration value.
        Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator, myPrincipal.IsInRole(WindowsBuiltInRole.Administrator))
        ' Get the role using the WellKnownSidType.
        Dim sid As New SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, Nothing)
        Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid))

    End Sub

    Public Shared Sub Main()
        DemonstrateWindowsBuiltInRoleEnum()

    End Sub
End Class

Комментарии

Класс WindowsPrincipal в основном используется для проверки роли пользователя Windows.The WindowsPrincipal class is primarily used to check the role of a Windows user. Перегрузки WindowsPrincipal.IsInRole метода позволяют проверить роль пользователя с помощью различных контекстов ролей.The WindowsPrincipal.IsInRole method overloads let you check the user role by using different role contexts.

Конструкторы

WindowsPrincipal(WindowsIdentity)

Инициализирует новый экземпляр класса WindowsPrincipal, используя указанный объект WindowsIdentity.Initializes a new instance of the WindowsPrincipal class by using the specified WindowsIdentity object.

Свойства

Claims

Возвращает коллекцию, содержащую все утверждения из всех удостоверений, основанных на утверждениях, которые связаны с этим субъектом утверждений.Gets a collection that contains all of the claims from all of the claims identities associated with this claims principal.

(Унаследовано от ClaimsPrincipal)
CustomSerializationData

Содержит дополнительные данные, предоставленные производным типом.Contains any additional data provided by a derived type. Обычно устанавливается при вызове WriteTo(BinaryWriter, Byte[]).Typically set when calling WriteTo(BinaryWriter, Byte[]).

(Унаследовано от ClaimsPrincipal)
DeviceClaims

Получает все утверждения устройства Windows из этого субъекта.Gets all Windows device claims from this principal.

Identities

Возвращает коллекцию, содержащую все удостоверения утверждений, связанные с этим субъектом утверждений.Gets a collection that contains all of the claims identities associated with this claims principal.

(Унаследовано от ClaimsPrincipal)
Identity

Возвращает удостоверение текущего участника.Gets the identity of the current principal.

UserClaims

Получает все утверждения пользователя Windows из этого субъекта.Gets all Windows user claims from this principal.

Методы

AddIdentities(IEnumerable<ClaimsIdentity>)

Добавляет указанные удостоверения, основанные на утверждениях, в этот субъект утверждений.Adds the specified claims identities to this claims principal.

(Унаследовано от ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Добавляет указанное удостоверение утверждения к этому участнику утверждений.Adds the specified claims identity to this claims principal.

(Унаследовано от ClaimsPrincipal)
Clone()

Возвращает копию этого экземпляра.Returns a copy of this instance.

(Унаследовано от ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Создает новое удостоверение, основанное на утверждениях.Creates a new claims identity.

(Унаследовано от ClaimsPrincipal)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
FindAll(Predicate<Claim>)

Извлекает все утверждения, сопоставленные указанным предикатом.Retrieves all of the claims that are matched by the specified predicate.

(Унаследовано от ClaimsPrincipal)
FindAll(String)

Извлекает все утверждения или утверждения, которые имеют заданный тип утверждения.Retrieves all or the claims that have the specified claim type.

(Унаследовано от ClaimsPrincipal)
FindFirst(Predicate<Claim>)

Извлекает первое утверждение, которое соответствует указанному предикату.Retrieves the first claim that is matched by the specified predicate.

(Унаследовано от ClaimsPrincipal)
FindFirst(String)

Извлекает первое утверждение с заданным типом утверждения.Retrieves the first claim with the specified claim type.

(Унаследовано от ClaimsPrincipal)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)

Заполняет SerializationInfo данными, необходимыми для сериализации текущего объекта ClaimsPrincipal.Populates the SerializationInfo with data needed to serialize the current ClaimsPrincipal object.

(Унаследовано от ClaimsPrincipal)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
HasClaim(Predicate<Claim>)

Определяет, содержат ли удостоверения, основанные на утверждениях и связанные с субъектом утверждений, утверждения, которые соответствуют указанному предикату.Determines whether any of the claims identities associated with this claims principal contains a claim that is matched by the specified predicate.

(Унаследовано от ClaimsPrincipal)
HasClaim(String, String)

Определяет, содержат ли удостоверения утверждений, связанные с субъектом утверждений, утверждения с указанным типом и значением.Determines whether any of the claims identities associated with this claims principal contains a claim with the specified claim type and value.

(Унаследовано от ClaimsPrincipal)
IsInRole(Int32)

Определяет, относится ли текущий участник к группе пользователей Windows с заданным относительным идентификатором (RID).Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

IsInRole(SecurityIdentifier)

Определяет, относится ли текущий субъект к группе пользователей Windows с заданным идентификатором безопасности (SID).Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

IsInRole(String)

Определяет, относится ли текущий субъект к группе пользователей Windows с заданным именем.Determines whether the current principal belongs to the Windows user group with the specified name.

IsInRole(WindowsBuiltInRole)

Определяет, относится ли текущий субъект к группе пользователей Windows с заданным WindowsBuiltInRole.Determines whether the current principal belongs to the Windows user group with the specified WindowsBuiltInRole.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
WriteTo(BinaryWriter)

Выполняет сериализацию с помощью BinaryWriter.Serializes using a BinaryWriter.

(Унаследовано от ClaimsPrincipal)
WriteTo(BinaryWriter, Byte[])

Выполняет сериализацию с помощью BinaryWriter.Serializes using a BinaryWriter.

(Унаследовано от ClaimsPrincipal)

Применяется к