Bagikan melalui


WindowsIdentity Kelas

Definisi

Mewakili pengguna 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
Warisan
WindowsIdentity
Warisan
WindowsIdentity
Atribut
Penerapan

Contoh

Contoh berikut menunjukkan penggunaan anggota WindowsIdentity kelas. Misalnya yang menunjukkan cara mendapatkan token akun Windows melalui panggilan ke fungsi Win32 LogonUser yang tidak dikelola, dan menggunakan token tersebut untuk meniru pengguna lain, lihat WindowsImpersonationContext kelas .

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

Keterangan

GetCurrent Panggil metode untuk membuat WindowsIdentity objek yang mewakili pengguna saat ini.

Penting

Jenis ini mengimplementasikan IDisposable antarmuka. Ketika Anda telah selesai menggunakan jenis , Anda harus membuangnya baik secara langsung atau tidak langsung. Untuk membuang jenis secara langsung, panggil metodenya Dispose dalam try/catch blok. Untuk membuangnya secara tidak langsung, gunakan konstruksi bahasa seperti using (dalam C#) atau Using (di Visual Basic). Untuk informasi selengkapnya, lihat bagian "Menggunakan Objek yang Mengimplementasikan IDisposable" dalam IDisposable topik antarmuka.

Konstruktor

WindowsIdentity(IntPtr)

Menginisialisasi instans WindowsIdentity baru kelas untuk pengguna yang diwakili oleh token akun Windows yang ditentukan.

WindowsIdentity(IntPtr, String)

Menginisialisasi instans WindowsIdentity baru kelas untuk pengguna yang diwakili oleh token akun Windows yang ditentukan dan jenis autentikasi yang ditentukan.

WindowsIdentity(IntPtr, String, WindowsAccountType)

Menginisialisasi instans WindowsIdentity baru kelas untuk pengguna yang diwakili oleh token akun Windows yang ditentukan, jenis autentikasi yang ditentukan, dan jenis akun Windows yang ditentukan.

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Menginisialisasi instans WindowsIdentity baru kelas untuk pengguna yang diwakili oleh token akun Windows yang ditentukan, jenis autentikasi yang ditentukan, jenis akun Windows yang ditentukan, dan status autentikasi yang ditentukan.

WindowsIdentity(SerializationInfo, StreamingContext)
Kedaluwarsa.

Menginisialisasi instans WindowsIdentity baru kelas untuk pengguna yang diwakili oleh informasi dalam SerializationInfo aliran.

WindowsIdentity(String)

Menginisialisasi instans WindowsIdentity baru kelas untuk pengguna yang diwakili oleh Nama Prinsipal Pengguna (UPN) yang ditentukan.

WindowsIdentity(String, String)

Menginisialisasi instans WindowsIdentity baru kelas untuk pengguna yang diwakili oleh Nama Prinsipal Pengguna (UPN) yang ditentukan dan jenis autentikasi yang ditentukan.

WindowsIdentity(WindowsIdentity)

Menginisialisasi instans WindowsIdentity baru kelas dengan menggunakan objek yang ditentukan WindowsIdentity .

Bidang

DefaultIssuer

Mengidentifikasi nama pengeluar sertifikat default ClaimsIdentity .

DefaultNameClaimType

Jenis klaim nama default; Name.

(Diperoleh dari ClaimsIdentity)
DefaultRoleClaimType

Jenis klaim peran default; Role.

(Diperoleh dari ClaimsIdentity)

Properti

AccessToken

Mendapatkan ini SafeAccessTokenHandle untuk instans ini WindowsIdentity .

Actor

Mendapatkan atau menetapkan identitas pihak pemanggil yang diberikan hak delegasi.

(Diperoleh dari ClaimsIdentity)
AuthenticationType

Mendapatkan jenis autentikasi yang digunakan untuk mengidentifikasi pengguna.

BootstrapContext

Mendapatkan atau mengatur token yang digunakan untuk membuat identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Claims

Mendapatkan semua klaim untuk pengguna yang diwakili oleh identitas Windows ini.

CustomSerializationData

Berisi data tambahan yang disediakan oleh jenis turunan. Biasanya diatur saat memanggil WriteTo(BinaryWriter, Byte[]).

(Diperoleh dari ClaimsIdentity)
DeviceClaims

Mendapatkan klaim yang memiliki WindowsDeviceClaim kunci properti.

Groups

Mendapatkan grup milik pengguna Windows saat ini.

ImpersonationLevel

Mendapatkan tingkat peniruan identitas untuk pengguna.

IsAnonymous

Mendapatkan nilai yang menunjukkan apakah akun pengguna diidentifikasi sebagai akun anonim oleh sistem.

IsAuthenticated

Mendapatkan nilai yang menunjukkan apakah pengguna telah diautentikasi oleh Windows.

IsGuest

Mendapatkan nilai yang menunjukkan apakah akun pengguna diidentifikasi sebagai Guest akun oleh sistem.

IsSystem

Mendapatkan nilai yang menunjukkan apakah akun pengguna diidentifikasi sebagai System akun oleh sistem.

Label

Mendapatkan atau mengatur label untuk identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Name

Mendapatkan nama log masuk Windows pengguna.

NameClaimType

Mendapatkan jenis klaim yang digunakan untuk menentukan klaim mana yang memberikan nilai untuk Name properti identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Owner

Mendapatkan pengidentifikasi keamanan (SID) untuk pemilik token.

RoleClaimType

Mendapatkan jenis klaim yang akan ditafsirkan sebagai peran .NET di antara klaim dalam identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Token

Mendapatkan token akun Windows untuk pengguna.

User

Mendapatkan pengidentifikasi keamanan (SID) untuk pengguna.

UserClaims

Mendapatkan klaim yang memiliki WindowsUserClaim kunci properti.

Metode

AddClaim(Claim)

Menambahkan satu klaim ke identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Menambahkan daftar klaim ke identitas klaim ini.

(Diperoleh dari ClaimsIdentity)
Clone()

Membuat objek baru yang merupakan salinan instans saat ini.

CreateClaim(BinaryReader)

Menyediakan titik ekstensibilitas untuk jenis turunan untuk membuat kustom Claim.

(Diperoleh dari ClaimsIdentity)
Dispose()

Merilis semua sumber daya yang WindowsIdentitydigunakan oleh .

Dispose(Boolean)

Merilis sumber daya tidak terkelola yang WindowsIdentity digunakan oleh dan secara opsional merilis sumber daya terkelola.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Merilis sumber daya yang dipegang oleh instans saat ini.

FindAll(Predicate<Claim>)

Mengambil semua klaim yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsIdentity)
FindAll(String)

Mengambil semua klaim yang memiliki jenis klaim yang ditentukan.

(Diperoleh dari ClaimsIdentity)
FindFirst(Predicate<Claim>)

Mengambil klaim pertama yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsIdentity)
FindFirst(String)

Mengambil klaim pertama dengan jenis klaim yang ditentukan.

(Diperoleh dari ClaimsIdentity)
GetAnonymous()

Mengembalikan WindowsIdentity objek yang dapat Anda gunakan sebagai nilai sentinel dalam kode Anda untuk mewakili pengguna anonim. Nilai properti tidak mewakili identitas anonim bawaan yang digunakan oleh sistem operasi Windows.

GetCurrent()

Mengembalikan WindowsIdentity objek yang mewakili pengguna Windows saat ini.

GetCurrent(Boolean)

Mengembalikan objek yang mewakili identitas Windows untuk utas WindowsIdentity atau proses, tergantung pada nilai ifImpersonating parameter.

GetCurrent(TokenAccessLevels)

Mengembalikan WindowsIdentity objek yang mewakili pengguna Windows saat ini, menggunakan tingkat akses token yang diinginkan yang ditentukan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetObjectData(SerializationInfo, StreamingContext)

Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serial objek saat ini ClaimsIdentity .

(Diperoleh dari ClaimsIdentity)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
HasClaim(Predicate<Claim>)

Menentukan apakah identitas klaim ini memiliki klaim yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsIdentity)
HasClaim(String, String)

Menentukan apakah identitas klaim ini memiliki klaim dengan jenis dan nilai klaim yang ditentukan.

(Diperoleh dari ClaimsIdentity)
Impersonate()

Meniru pengguna yang diwakili oleh WindowsIdentity objek .

Impersonate(IntPtr)

Meniru pengguna yang diwakili oleh token pengguna yang ditentukan.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
RemoveClaim(Claim)

Mencoba menghapus klaim dari identitas klaim.

(Diperoleh dari ClaimsIdentity)
RunImpersonated(SafeAccessTokenHandle, Action)

Menjalankan tindakan yang ditentukan sebagai identitas Windows yang ditiru. Alih-alih menggunakan panggilan metode yang ditiru dan menjalankan fungsi Anda di WindowsImpersonationContext, Anda dapat menggunakan RunImpersonated(SafeAccessTokenHandle, Action) dan menyediakan fungsi Anda secara langsung sebagai parameter.

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

Menjalankan fungsi yang ditentukan sebagai identitas Windows yang ditiru. Alih-alih menggunakan panggilan metode yang ditiru dan menjalankan fungsi Anda di WindowsImpersonationContext, Anda dapat menggunakan RunImpersonated(SafeAccessTokenHandle, Action) dan menyediakan fungsi Anda secara langsung sebagai parameter.

RunImpersonatedAsync(SafeAccessTokenHandle, Func<Task>)

Menjalankan tindakan asinkron yang ditentukan sebagai identitas Windows yang ditiru.

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

Menjalankan tindakan asinkron yang ditentukan sebagai identitas Windows yang ditiru.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TryRemoveClaim(Claim)

Mencoba menghapus klaim dari identitas klaim.

(Diperoleh dari ClaimsIdentity)
WriteTo(BinaryWriter)

Menserialisasikan menggunakan BinaryWriter.

(Diperoleh dari ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Menserialisasikan menggunakan BinaryWriter.

(Diperoleh dari ClaimsIdentity)

Implementasi Antarmuka Eksplisit

IDeserializationCallback.OnDeserialization(Object)

ISerializable Mengimplementasikan antarmuka dan dipanggil kembali oleh peristiwa deserialisasi ketika deserialisasi selesai.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo Mengatur objek dengan informasi konteks logis yang diperlukan untuk membuat ulang instans konteks eksekusi ini.

Berlaku untuk