WindowsPrincipal 클래스

정의

코드에서 Windows 사용자의 Windows 그룹 멤버 자격을 확인할 수 있습니다.Enables code to check the Windows group membership of a Windows user.

public ref class WindowsPrincipal : System::Security::Claims::ClaimsPrincipal
public ref class WindowsPrincipal : System::Security::Principal::IPrincipal
public class WindowsPrincipal : System.Security.Claims.ClaimsPrincipal
[System.Serializable]
public class WindowsPrincipal : System.Security.Principal.IPrincipal
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class WindowsPrincipal : System.Security.Principal.IPrincipal
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class WindowsPrincipal : System.Security.Claims.ClaimsPrincipal
type WindowsPrincipal = class
    inherit ClaimsPrincipal
type WindowsPrincipal = class
    interface IPrincipal
Public Class WindowsPrincipal
Inherits ClaimsPrincipal
Public Class WindowsPrincipal
Implements IPrincipal
상속
WindowsPrincipal
상속
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

이 클레임 보안 주체와 연결된 모든 클레임 ID의 모든 클레임을 포함하는 컬렉션을 가져옵니다.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

이 클레임 보안 주체와 연결된 모든 클레임 ID를 포함하는 컬렉션을 가져옵니다.Gets a collection that contains all of the claims identities associated with this claims principal.

(다음에서 상속됨 ClaimsPrincipal)
Identity

현재 보안 주체의 id를 가져옵니다.Gets the identity of the current principal.

UserClaims

이 보안 주체의 모든 Windows 사용자 클레임을 가져옵니다.Gets all Windows user claims from this principal.

메서드

AddIdentities(IEnumerable<ClaimsIdentity>)

이 클레임 주체에 지정된 클레임 ID를 추가합니다.Adds the specified claims identities to this claims principal.

(다음에서 상속됨 ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

이 클레임 보안 주체에 지정된 클레임 ID를 추가합니다.Adds the specified claims identity to this claims principal.

(다음에서 상속됨 ClaimsPrincipal)
Clone()

이 인스턴스의 복사본을 반환합니다.Returns a copy of this instance.

(다음에서 상속됨 ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

새 클레임 ID를 만듭니다.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 개체를 serialize하는 데 필요한 데이터로 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>)

이 클레임 보안 주체와 연결된 클레임 ID에 지정된 조건자와 일치하는 클레임이 들어 있는지 여부를 확인합니다.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)

이 클레임 보안 주체와 연결된 클레임 ID에 지정된 클레임 형식 및 값을 갖는 클레임이 들어 있는지 여부를 확인합니다.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)

현재 보안 주체는 지정 된 RID (상대 식별자)를 사용 하 여 Windows 사용자 그룹에 속하는지 여부를 결정 합니다.Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

IsInRole(SecurityIdentifier)

현재 보안 주체가 지정된 된 보안 식별자 (SID)를 사용 하 여 Windows 사용자 그룹에 속하는지 여부를 결정 합니다.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)

현재 보안 주체가 지정된 WindowsBuiltInRole을 갖는 Windows 사용자 그룹에 속하는지 여부를 확인합니다.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)

적용 대상