다음을 통해 공유


WindowsIdentity 클래스

정의

Windows 사용자를 나타냅니다.

public ref class WindowsIdentity : System::Security::Claims::ClaimsIdentity, IDisposable, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public ref class WindowsIdentity : System::Security::Claims::ClaimsIdentity, IDisposable
public ref class WindowsIdentity : System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable, System::Security::Principal::IIdentity
public ref class WindowsIdentity : IDisposable, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable, System::Security::Principal::IIdentity
public class WindowsIdentity : System.Security.Claims.ClaimsIdentity, IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public class WindowsIdentity : System.Security.Claims.ClaimsIdentity, IDisposable
[System.Serializable]
public class WindowsIdentity : System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable, System.Security.Principal.IIdentity
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class WindowsIdentity : IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable, System.Security.Principal.IIdentity
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class WindowsIdentity : System.Security.Claims.ClaimsIdentity, IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type WindowsIdentity = class
    inherit ClaimsIdentity
    interface IDisposable
    interface IDeserializationCallback
    interface ISerializable
type WindowsIdentity = class
    inherit ClaimsIdentity
    interface IDisposable
[<System.Serializable>]
type WindowsIdentity = class
    interface IIdentity
    interface ISerializable
    interface IDeserializationCallback
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type WindowsIdentity = class
    interface IIdentity
    interface ISerializable
    interface IDeserializationCallback
    interface IDisposable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type WindowsIdentity = class
    inherit ClaimsIdentity
    interface ISerializable
    interface IDeserializationCallback
    interface IDisposable
Public Class WindowsIdentity
Inherits ClaimsIdentity
Implements IDeserializationCallback, IDisposable, ISerializable
Public Class WindowsIdentity
Inherits ClaimsIdentity
Implements IDisposable
Public Class WindowsIdentity
Implements IDeserializationCallback, IIdentity, ISerializable
Public Class WindowsIdentity
Implements IDeserializationCallback, IDisposable, IIdentity, ISerializable
상속
WindowsIdentity
상속
WindowsIdentity
특성
구현

예제

다음 예제에서는 클래스의 WindowsIdentity 멤버를 사용하는 방법을 보여줍니다. 관리되지 않는 Win32 LogonUser 함수에 대한 호출을 통해 Windows 계정 토큰을 가져오고 해당 토큰을 사용하여 다른 사용자를 가장하는 방법을 보여 주는 예제는 클래스를 WindowsImpersonationContext 참조하세요.

using namespace System;
using namespace System::Security::Principal;
void IntPtrConstructor( IntPtr logonToken );
void IntPtrStringConstructor( IntPtr logonToken );
void IntPrtStringTypeBoolConstructor( IntPtr logonToken );
void IntPtrStringTypeConstructor( IntPtr logonToken );
void UseProperties( IntPtr logonToken );
IntPtr LogonUser();
void GetAnonymousUser();
void ImpersonateIdentity( IntPtr logonToken );

[STAThread]
int main()
{
   
   // Retrieve the Windows account token for the current user.
   IntPtr logonToken = LogonUser();
   
   // Constructor implementations.
   IntPtrConstructor( logonToken );
   IntPtrStringConstructor( logonToken );
   IntPtrStringTypeConstructor( logonToken );
   IntPrtStringTypeBoolConstructor( logonToken );
   
   // Property implementations.
   UseProperties( logonToken );
   
   // Method implementations.
   GetAnonymousUser();
   ImpersonateIdentity( logonToken );
   Console::WriteLine( "This sample completed successfully; "
   "press Enter to exit." );
   Console::ReadLine();
}


// Create a WindowsIdentity object for the user represented by the
// specified Windows account token.
void IntPtrConstructor( IntPtr logonToken )
{
   
   // Construct a WindowsIdentity object using the input account token.
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken );
   
   Console::WriteLine( "Created a Windows identity object named {0}.", windowsIdentity->Name );
}

// Create a WindowsIdentity object for the user represented by the
// specified account token and authentication type.
void IntPtrStringConstructor( IntPtr logonToken )
{
   
   // Construct a WindowsIdentity object using the input account token 
   // and the specified authentication type.
   String^ authenticationType = "WindowsAuthentication";
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken,authenticationType );
   
   Console::WriteLine( "Created a Windows identity object named {0}.", windowsIdentity->Name );
}



// Create a WindowsIdentity object for the user represented by the
// specified account token, authentication type and Windows account
// type.
void IntPtrStringTypeConstructor( IntPtr logonToken )
{
   
   // Construct a WindowsIdentity object using the input account token,
   // and the specified authentication type and Windows account type.
   String^ authenticationType = "WindowsAuthentication";
   WindowsAccountType guestAccount = WindowsAccountType::Guest;
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken,authenticationType,guestAccount );
   
   Console::WriteLine( "Created a Windows identity object named {0}.", windowsIdentity->Name );
}

// Create a WindowsIdentity object for the user represented by the
// specified account token, authentication type, Windows account type and
// Boolean authentication flag.
void IntPrtStringTypeBoolConstructor( IntPtr logonToken )
{
   
   // Construct a WindowsIdentity object using the input account token,
   // and the specified authentication type, Windows account type, and
   // authentication flag.
   String^ authenticationType = "WindowsAuthentication";
   WindowsAccountType guestAccount = WindowsAccountType::Guest;
   bool isAuthenticated = true;
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken,authenticationType,guestAccount,isAuthenticated );
   
   Console::WriteLine( "Created a Windows identity object named {0}.", windowsIdentity->Name );
}

// Access the properties of a WindowsIdentity object.
void UseProperties( IntPtr logonToken )
{
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken );
   String^ propertyDescription = "The windows identity named ";
   
   // Retrieve the Windows logon name from the Windows identity object.
   propertyDescription = String::Concat( propertyDescription, windowsIdentity->Name );
   
   // Verify that the user account is not considered to be an Anonymous
   // account by the system.
   if (  !windowsIdentity->IsAnonymous )
   {
      propertyDescription = String::Concat( propertyDescription, ", is not an Anonymous account" );
   }

   
   // Verify that the user account has been authenticated by Windows.
   if ( windowsIdentity->IsAuthenticated )
   {
      propertyDescription = String::Concat( propertyDescription, ", is authenticated" );
   }
   
   // Verify that the user account is considered to be a System account
   // by the system.
   if ( windowsIdentity->IsSystem )
   {
      propertyDescription = String::Concat( propertyDescription, ", is a System account" );
   }
   
   // Verify that the user account is considered to be a Guest account
   // by the system.
   if ( windowsIdentity->IsGuest )
   {
      propertyDescription = String::Concat( propertyDescription, ", is a Guest account" );
   }
   
   // Retrieve the authentication type for the 
   String^ authenticationType = windowsIdentity->AuthenticationType;
   
   // Append the authenication type to the output message.
   if ( authenticationType != nullptr )
   {
      propertyDescription = String::Format( "{0} and uses {1} authentication type.", propertyDescription, authenticationType );
   }
   
   Console::WriteLine( propertyDescription );
}


// Retrieve the account token from the current WindowsIdentity object
// instead of calling the unmanaged LogonUser method in the advapi32.dll.
IntPtr LogonUser()
{
   
   IntPtr accountToken = WindowsIdentity::GetCurrent()->Token;
   
   return accountToken;
}


// Get the WindowsIdentity object for an Anonymous user.
void GetAnonymousUser()
{
   
   // Retrieve a WindowsIdentity object that represents an anonymous
   // Windows user.
   WindowsIdentity^ windowsIdentity = WindowsIdentity::GetAnonymous();
   
}


// Impersonate a Windows identity.
void ImpersonateIdentity( IntPtr logonToken )
{
   
   // Retrieve the Windows identity using the specified token.
   WindowsIdentity^ windowsIdentity = gcnew WindowsIdentity( logonToken );
   
   // Create a WindowsImpersonationContext object by impersonating the
   // Windows identity.
   WindowsImpersonationContext^ impersonationContext = windowsIdentity->Impersonate();
   Console::WriteLine( "Name of the identity after impersonation: {0}.", WindowsIdentity::GetCurrent()->Name );
   
   // Stop impersonating the user.
   impersonationContext->Undo();
   
   // Check the identity name.
   Console::Write( "Name of the identity after performing an Undo on the" );
   Console::WriteLine( " impersonation: {0}", WindowsIdentity::GetCurrent()->Name );
}
using System;
using System.Security.Principal;

class WindowsIdentityMembers
{
    [STAThread]
    static void Main(string[] args)
    {
        // Retrieve the Windows account token for the current user.
        IntPtr logonToken = LogonUser();

        // Constructor implementations.
        IntPtrConstructor(logonToken);
        IntPtrStringConstructor(logonToken);
        IntPtrStringTypeConstructor(logonToken);
        IntPrtStringTypeBoolConstructor(logonToken);

        // Property implementations.
        UseProperties(logonToken);

        // Method implementations.
        GetAnonymousUser();
        ImpersonateIdentity(logonToken);

        Console.WriteLine("This sample completed successfully; " +
            "press Enter to exit.");
        Console.ReadLine();
    }

    // Create a WindowsIdentity object for the user represented by the
    // specified Windows account token.
    private static void IntPtrConstructor(IntPtr logonToken)
    {
        // Construct a WindowsIdentity object using the input account token.
        WindowsIdentity windowsIdentity = new WindowsIdentity(logonToken);

        Console.WriteLine("Created a Windows identity object named " +
            windowsIdentity.Name + ".");
    }

    // Create a WindowsIdentity object for the user represented by the
    // specified account token and authentication type.
    private static void IntPtrStringConstructor(IntPtr logonToken)
    {
        // Construct a WindowsIdentity object using the input account token 
        // and the specified authentication type.
        string authenticationType = "WindowsAuthentication";
        WindowsIdentity windowsIdentity =
                        new WindowsIdentity(logonToken, authenticationType);

        Console.WriteLine("Created a Windows identity object named " +
            windowsIdentity.Name + ".");
    }

    // Create a WindowsIdentity object for the user represented by the
    // specified account token, authentication type, and Windows account
    // type.
    private static void IntPtrStringTypeConstructor(IntPtr logonToken)
    {
        // Construct a WindowsIdentity object using the input account token,
        // and the specified authentication type, and Windows account type.
        string authenticationType = "WindowsAuthentication";
        WindowsAccountType guestAccount = WindowsAccountType.Guest;
        WindowsIdentity windowsIdentity =
            new WindowsIdentity(logonToken, authenticationType, guestAccount);

        Console.WriteLine("Created a Windows identity object named " +
            windowsIdentity.Name + ".");
    }

    // Create a WindowsIdentity object for the user represented by the
    // specified account token, authentication type, Windows account type, and
    // Boolean authentication flag.
    private static void IntPrtStringTypeBoolConstructor(IntPtr logonToken)
    {
        // Construct a WindowsIdentity object using the input account token,
        // and the specified authentication type, Windows account type, and
        // authentication flag.
        string authenticationType = "WindowsAuthentication";
        WindowsAccountType guestAccount = WindowsAccountType.Guest;
        bool isAuthenticated = true;
        WindowsIdentity windowsIdentity = new WindowsIdentity(
            logonToken, authenticationType, guestAccount, isAuthenticated);

        Console.WriteLine("Created a Windows identity object named " +
            windowsIdentity.Name + ".");
    }
    // Access the properties of a WindowsIdentity object.
    private static void UseProperties(IntPtr logonToken)
    {
        WindowsIdentity windowsIdentity = new WindowsIdentity(logonToken);
        string propertyDescription = "The Windows identity named ";

        // Retrieve the Windows logon name from the Windows identity object.
        propertyDescription += windowsIdentity.Name;

        // Verify that the user account is not considered to be an Anonymous
        // account by the system.
        if (!windowsIdentity.IsAnonymous)
        {
            propertyDescription += " is not an Anonymous account";
        }

        // Verify that the user account has been authenticated by Windows.
        if (windowsIdentity.IsAuthenticated)
        {
            propertyDescription += ", is authenticated";
        }

        // Verify that the user account is considered to be a System account
        // by the system.
        if (windowsIdentity.IsSystem)
        {
            propertyDescription += ", is a System account";
        }
        // Verify that the user account is considered to be a Guest account
        // by the system.
        if (windowsIdentity.IsGuest)
        {
            propertyDescription += ", is a Guest account";
        }

        // Retrieve the authentication type for the 
        String authenticationType = windowsIdentity.AuthenticationType;

        // Append the authenication type to the output message.
        if (authenticationType != null)
        {
            propertyDescription += (" and uses " + authenticationType);
            propertyDescription += (" authentication type.");
        }

        Console.WriteLine(propertyDescription);

        // Display the SID for the owner.
        Console.Write("The SID for the owner is : ");
        SecurityIdentifier si = windowsIdentity.Owner;
        Console.WriteLine(si.ToString());
        // Display the SIDs for the groups the current user belongs to.
        Console.WriteLine("Display the SIDs for the groups the current user belongs to.");
        IdentityReferenceCollection irc = windowsIdentity.Groups;
        foreach (IdentityReference ir in irc)
            Console.WriteLine(ir.Value);
        TokenImpersonationLevel token = windowsIdentity.ImpersonationLevel;
        Console.WriteLine("The impersonation level for the current user is : " + token.ToString());
    }

    // Retrieve the account token from the current WindowsIdentity object
    // instead of calling the unmanaged LogonUser method in the advapi32.dll.
    private static IntPtr LogonUser()
    {
        IntPtr accountToken = WindowsIdentity.GetCurrent().Token;
        Console.WriteLine( "Token number is: " + accountToken.ToString());

        return accountToken;
    }

    // Get the WindowsIdentity object for an Anonymous user.
    private static void GetAnonymousUser()
    {
        // Retrieve a WindowsIdentity object that represents an anonymous
        // Windows user.
        WindowsIdentity windowsIdentity = WindowsIdentity.GetAnonymous();
    }

    // Impersonate a Windows identity.
    private static void ImpersonateIdentity(IntPtr logonToken)
    {
        // Retrieve the Windows identity using the specified token.
        WindowsIdentity windowsIdentity = new WindowsIdentity(logonToken);

        // Create a WindowsImpersonationContext object by impersonating the
        // Windows identity.
        WindowsImpersonationContext impersonationContext =
            windowsIdentity.Impersonate();

        Console.WriteLine("Name of the identity after impersonation: "
            + WindowsIdentity.GetCurrent().Name + ".");
        Console.WriteLine(windowsIdentity.ImpersonationLevel);
        // Stop impersonating the user.
        impersonationContext.Undo();

        // Check the identity name.
        Console.Write("Name of the identity after performing an Undo on the");
        Console.WriteLine(" impersonation: " +
            WindowsIdentity.GetCurrent().Name);
    }
}
Imports System.Security.Principal

Module Module1

    Sub Main()

        ' Retrieve the Windows account token for the current user.
        Dim logonToken As IntPtr = LogonUser()

        ' Constructor implementations.
        IntPtrConstructor(logonToken)
        IntPtrStringConstructor(logonToken)
        IntPtrStringTypeConstructor(logonToken)
        IntPrtStringTypeBoolConstructor(logonToken)

        ' Property implementations.
        UseProperties(logonToken)

        ' Method implementations.
        GetAnonymousUser()
        ImpersonateIdentity(logonToken)

        ' Align interface and conclude application.
        Console.WriteLine(vbCrLf + "This sample completed " + _
            "successfully; press Enter to exit.")
        Console.ReadLine()

    End Sub
    
    ' Create a WindowsIdentity object for the user represented by the
    ' specified Windows account token.
    Private Sub IntPtrConstructor(ByVal logonToken As IntPtr)
        ' Construct a WindowsIdentity object using the input account token.
        Dim windowsIdentity As New WindowsIdentity(logonToken)

        WriteLine("Created a Windows identity object named " + _
            windowsIdentity.Name + ".")
    End Sub
    ' Create a WindowsIdentity object for the user represented by the
    ' specified account token and authentication type.
    Private Sub IntPtrStringConstructor(ByVal logonToken As IntPtr)
        ' Construct a WindowsIdentity object using the input account token 
        ' and the specified authentication type
        Dim authenticationType = "WindowsAuthentication"
        Dim windowsIdentity As _
            New WindowsIdentity(logonToken, authenticationType)

        WriteLine("Created a Windows identity object named " + _
            windowsIdentity.Name + ".")
    End Sub

    ' Create a WindowsIdentity object for the user represented by the
    ' specified account token, authentication type, and Windows account
    ' type.
    Private Sub IntPtrStringTypeConstructor(ByVal logonToken As IntPtr)
        ' Construct a WindowsIdentity object using the input account token,
        ' and the specified authentication type and Windows account type.
        Dim authenticationType As String = "WindowsAuthentication"
        Dim guestAccount As WindowsAccountType = WindowsAccountType.Guest
        Dim windowsIdentity As _
            New WindowsIdentity(logonToken, authenticationType, guestAccount)

        WriteLine("Created a Windows identity object named " + _
            windowsIdentity.Name + ".")
    End Sub

    ' Create a WindowsIdentity object for the user represented by the
    ' specified account token, authentication type, Windows account type,
    ' and Boolean authentication flag.
    Private Sub IntPrtStringTypeBoolConstructor(ByVal logonToken As IntPtr)
        ' Construct a WindowsIdentity object using the input account token,
        ' and the specified authentication type, Windows account type, and
        ' authentication flag.
        Dim authenticationType As String = "WindowsAuthentication"
        Dim guestAccount As WindowsAccountType = WindowsAccountType.Guest
        Dim isAuthenticated As Boolean = True
        Dim windowsIdentity As New WindowsIdentity( _
            logonToken, authenticationType, guestAccount, isAuthenticated)

        WriteLine("Created a Windows identity object named " + _
            windowsIdentity.Name + ".")
    End Sub
        
    ' Access the properties of a WindowsIdentity object.
    Private Sub UseProperties(ByVal logonToken As IntPtr)
        Dim windowsIdentity As New WindowsIdentity(logonToken)
        Dim propertyDescription As String = "The Windows identity named "

        ' Retrieve the Windows logon name from the Windows identity object.
        propertyDescription += windowsIdentity.Name

        ' Verify that the user account is not considered to be an Anonymous
        ' account by the system.
        If Not windowsIdentity.IsAnonymous Then
            propertyDescription += " is not an Anonymous account"
        End If

        ' Verify that the user account has been authenticated by Windows.
        If (windowsIdentity.IsAuthenticated) Then
            propertyDescription += ", is authenticated"
        End If

        ' Verify that the user account is considered to be a System account by
        ' the system.
        If (windowsIdentity.IsSystem) Then
            propertyDescription += ", is a System account"
        End If

        ' Verify that the user account is considered to be a Guest account by
        ' the system.
        If (windowsIdentity.IsGuest) Then
            propertyDescription += ", is a Guest account"
        End If
        Dim authenticationType As String = windowsIdentity.AuthenticationType

        ' Append the authenication type to the output message.
        If (Not authenticationType Is Nothing) Then
            propertyDescription += (" and uses " + authenticationType)
            propertyDescription += (" authentication type.")
        End If

        WriteLine(propertyDescription)

        ' Display the SID for the owner.
        Console.Write("The SID for the owner is : ")
        Dim si As SecurityIdentifier
        si = windowsIdentity.Owner
        Console.WriteLine(si.ToString())
        ' Display the SIDs for the groups the current user belongs to.
        Console.WriteLine("Display the SIDs for the groups the current user belongs to.")
        Dim irc As IdentityReferenceCollection
        Dim ir As IdentityReference
        irc = windowsIdentity.Groups
        For Each ir In irc
            Console.WriteLine(ir.Value)
        Next
        Dim token As TokenImpersonationLevel
        token = windowsIdentity.ImpersonationLevel
        Console.WriteLine("The impersonation level for the current user is : " + token.ToString())
    End Sub
    ' Retrieve the account token from the current WindowsIdentity object
    ' instead of calling the unmanaged LogonUser method in the advapi32.dll.
    Private Function LogonUser() As IntPtr
        Dim accountToken As IntPtr = WindowsIdentity.GetCurrent().Token

        Return accountToken
    End Function

    ' Get the WindowsIdentity object for an Anonymous user.
    Private Sub GetAnonymousUser()
        ' Retrieve a WindowsIdentity object that represents an anonymous
        ' Windows user.
        Dim windowsIdentity As WindowsIdentity
        windowsIdentity = windowsIdentity.GetAnonymous()
    End Sub

    ' Impersonate a Windows identity.
    Private Sub ImpersonateIdentity(ByVal logonToken As IntPtr)
        ' Retrieve the Windows identity using the specified token.
        Dim windowsIdentity As New WindowsIdentity(logonToken)

        ' Create a WindowsImpersonationContext object by impersonating the
        ' Windows identity.
        Dim impersonationContext As WindowsImpersonationContext
        impersonationContext = windowsIdentity.Impersonate()

        WriteLine("Name of the identity after impersonation: " + _
            windowsIdentity.GetCurrent().Name + ".")

        ' Stop impersonating the user.
        impersonationContext.Undo()

        ' Check the identity.
        WriteLine("Name of the identity after performing an Undo on the " + _
            "impersonation: " + windowsIdentity.GetCurrent().Name + ".")
    End Sub
    ' Write out message with carriage return to output textbox.
    Private Sub WriteLine(ByVal message As String)
        Console.WriteLine(message + vbCrLf)
    End Sub

End Module

설명

메서드를 GetCurrent 호출하여 현재 사용자를 나타내는 개체를 만듭니 WindowsIdentity 다.

중요

이 형식이 구현 하는 IDisposable 인터페이스입니다. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다. 직접 형식의 dispose 호출 해당 Dispose 의 메서드를 try/catch 블록입니다. 삭제 하지 직접, 언어 구문 같은 사용 using (C#에서) 또는 Using (Visual Basic에서는). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.

생성자

WindowsIdentity(IntPtr)

지정된 Windows 계정 토큰이 나타내는 사용자에 대해 WindowsIdentity 클래스의 새 인스턴스를 초기화합니다.

WindowsIdentity(IntPtr, String)

지정된 Windows 계정 토큰 및 지정된 인증 형식이 나타내는 사용자에 대한 WindowsIdentity 클래스의 새 인스턴스를 초기화합니다.

WindowsIdentity(IntPtr, String, WindowsAccountType)

지정된 Windows 계정 토큰, 지정된 인증 형식 및 지정된 Windows 계정 유형이 나타내는 사용자에 대해 WindowsIdentity 클래스의 새 인스턴스를 초기화합니다.

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

지정된 Windows 계정 토큰, 지정된 인증 형식, 지정된 Windows 계정 유형 및 지정된 인증 상태가 나타내는 사용자에 대해 WindowsIdentity 클래스의 새 인스턴스를 초기화합니다.

WindowsIdentity(SerializationInfo, StreamingContext)
사용되지 않음.

WindowsIdentity 스트림의 정보가 나타내는 사용자에 대해 SerializationInfo 클래스의 새 인스턴스를 초기화합니다.

WindowsIdentity(String)

지정된 UPN(사용자 계정 이름)이 나타내는 사용자에 대해 WindowsIdentity 클래스의 새 인스턴스를 초기화합니다.

WindowsIdentity(String, String)

지정된 UPN(사용자 계정 이름) 및 지정된 인증 형식이 나타내는 사용자에 대해 WindowsIdentity 클래스의 새 인스턴스를 초기화합니다.

WindowsIdentity(WindowsIdentity)

지정된 WindowsIdentity 개체를 사용하여 WindowsIdentity 클래스의 새 인스턴스를 초기화합니다.

필드

DefaultIssuer

기본 ClaimsIdentity 발급자의 이름을 식별합니다.

DefaultNameClaimType

기본 이름 클레임 형식은 Name입니다.

(다음에서 상속됨 ClaimsIdentity)
DefaultRoleClaimType

기본 역할 클레임 형식은 Role입니다.

(다음에서 상속됨 ClaimsIdentity)

속성

AccessToken

SafeAccessTokenHandle 인스턴스의 이 WindowsIdentity을 가져옵니다.

Actor

위임 권한이 부여된 발신자의 ID를 가져오거나 설정합니다.

(다음에서 상속됨 ClaimsIdentity)
AuthenticationType

사용자를 식별하는 데 사용되는 인증 형식을 가져옵니다.

BootstrapContext

이 클레임 ID를 만드는 데 사용된 토큰을 가져오거나 설정합니다.

(다음에서 상속됨 ClaimsIdentity)
Claims

이 Windows ID가 나타내는 사용자의 모든 클레임을 가져옵니다.

CustomSerializationData

파생된 형식에서 제공하는 추가 데이터를 포함합니다. 일반적으로 WriteTo(BinaryWriter, Byte[])를 호출할 때 설정합니다.

(다음에서 상속됨 ClaimsIdentity)
DeviceClaims

WindowsDeviceClaim 속성 키가 있는 클레임을 가져옵니다.

Groups

현재 Windows 사용자가 속해 있는 그룹을 가져옵니다.

ImpersonationLevel

사용자의 가장 수준을 가져옵니다.

IsAnonymous

사용자 계정이 시스템에서 익명 계정으로 식별되는지를 나타내는 값을 가져옵니다.

IsAuthenticated

Windows에서 사용자를 인증했는지를 나타내는 값을 가져옵니다.

IsGuest

사용자 계정이 시스템에서 Guest 계정으로 식별되는지 여부를 나타내는 값을 가져옵니다.

IsSystem

사용자 계정이 시스템에서 System 계정으로 식별되는지 여부를 나타내는 값을 가져옵니다.

Label

이 클레임 ID에 대한 레이블을 가져오거나 설정합니다.

(다음에서 상속됨 ClaimsIdentity)
Name

사용자의 Windows 로그온 이름을 가져옵니다.

NameClaimType

이 클레임 ID의 Name 속성 값을 제공하는 클레임을 확인하는 데 사용되는 클레임 형식을 가져옵니다.

(다음에서 상속됨 ClaimsIdentity)
Owner

토큰 소유자의 SID(보안 식별자)를 가져옵니다.

RoleClaimType

이 클레임 ID의 클레임 중에서 .NET 역할로 해석될 클레임 형식을 가져옵니다.

(다음에서 상속됨 ClaimsIdentity)
Token

사용자의 Windows 계정 토큰을 가져옵니다.

User

사용자의 SID(보안 식별자)를 가져옵니다.

UserClaims

WindowsUserClaim 속성 키가 있는 클레임을 가져옵니다.

메서드

AddClaim(Claim)

이 클레임 ID에 단일 클레임을 추가합니다.

(다음에서 상속됨 ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

이 클레임 ID에 클레임 목록을 추가합니다.

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

현재 인스턴스의 복사본인 새 개체를 만듭니다.

CreateClaim(BinaryReader)

사용자 지정 Claim을 만들 파생된 형식에 대한 확장성 지점을 제공합니다.

(다음에서 상속됨 ClaimsIdentity)
Dispose()

WindowsIdentity에서 사용하는 모든 리소스를 해제합니다.

Dispose(Boolean)

WindowsIdentity에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Finalize()

현재 인스턴스에서 보유한 리소스를 해제합니다.

FindAll(Predicate<Claim>)

지정된 조건자와 일치하는 클레임을 모두 검색합니다.

(다음에서 상속됨 ClaimsIdentity)
FindAll(String)

지정된 클레임 형식이 있는 클레임을 모두 검색합니다.

(다음에서 상속됨 ClaimsIdentity)
FindFirst(Predicate<Claim>)

지정된 조건자와 일치하는 첫 번째 클레임을 검색합니다.

(다음에서 상속됨 ClaimsIdentity)
FindFirst(String)

지정된 클레임 형식으로 첫 번째 클레임을 검색합니다.

(다음에서 상속됨 ClaimsIdentity)
GetAnonymous()

코드에서 익명의 사용자를 나타내는 데 센티널 값으로 사용할 수 있는 WindowsIdentity 개체를 반환합니다. 속성 값은 Windows 운영 체제에서 사용하는 익명의 기본 ID를 나타내지 않습니다.

GetCurrent()

현재 Windows 사용자를 나타내는 WindowsIdentity 개체를 반환합니다.

GetCurrent(Boolean)

ifImpersonating 매개 변수의 값에 따라 스레드나 프로세스에 대한 Windows ID를 나타내는 WindowsIdentity 개체를 반환합니다.

GetCurrent(TokenAccessLevels)

지정한 희망 토큰 액세스 수준을 사용하여 현재 Windows 사용자를 나타내는 WindowsIdentity 개체를 반환합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)

현재 SerializationInfo 개체를 serialize하는 데 필요한 데이터로 ClaimsIdentity를 채웁니다.

(다음에서 상속됨 ClaimsIdentity)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
HasClaim(Predicate<Claim>)

이 클레임에 지정된 조건자와 일치하는 클레임이 있는지 여부를 확인합니다.

(다음에서 상속됨 ClaimsIdentity)
HasClaim(String, String)

이 클레임 ID에 지정된 클레임 형식 및 값을 가진 클레임이 있는지 여부를 확인합니다.

(다음에서 상속됨 ClaimsIdentity)
Impersonate()

WindowsIdentity 개체가 나타내는 사용자를 가장합니다.

Impersonate(IntPtr)

지정된 사용자 토큰이 나타내는 사용자를 가장합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
RemoveClaim(Claim)

클레임 ID에서 클레임을 제거하려고 시도합니다.

(다음에서 상속됨 ClaimsIdentity)
RunImpersonated(SafeAccessTokenHandle, Action)

가장된 Windows ID로 지정된 작업을 실행합니다. 가장된 메서드 호출을 사용하여 WindowsImpersonationContext에서 함수를 실행하지 않고 RunImpersonated(SafeAccessTokenHandle, Action)를 사용하여 매개 변수로 직접 함수를 제공할 수 있습니다.

RunImpersonated<T>(SafeAccessTokenHandle, Func<T>)

가장된 Windows ID로 지정된 함수를 실행합니다. 가장된 메서드 호출을 사용하여 WindowsImpersonationContext에서 함수를 실행하지 않고 RunImpersonated(SafeAccessTokenHandle, Action)를 사용하여 매개 변수로 직접 함수를 제공할 수 있습니다.

RunImpersonatedAsync(SafeAccessTokenHandle, Func<Task>)

지정된 비동기 작업을 가장된 Windows ID로 실행합니다.

RunImpersonatedAsync<T>(SafeAccessTokenHandle, Func<Task<T>>)

지정된 비동기 작업을 가장된 Windows ID로 실행합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
TryRemoveClaim(Claim)

클레임 ID에서 클레임을 제거하려고 시도합니다.

(다음에서 상속됨 ClaimsIdentity)
WriteTo(BinaryWriter)

BinaryWriter를 사용하여 직렬화합니다.

(다음에서 상속됨 ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

BinaryWriter를 사용하여 직렬화합니다.

(다음에서 상속됨 ClaimsIdentity)

명시적 인터페이스 구현

IDeserializationCallback.OnDeserialization(Object)

ISerializable 인터페이스를 구현하고 역직렬화가 완료되면 역직렬화 이벤트에 의해 콜백됩니다.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

이 실행 컨텍스트의 인스턴스를 다시 만드는 데 필요한 논리 컨텍스트 정보를 사용하여 SerializationInfo 개체를 설정합니다.

적용 대상