Udostępnij za pośrednictwem


WindowsIdentity Klasa

Definicja

Reprezentuje użytkownika systemu 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
Dziedziczenie
WindowsIdentity
Dziedziczenie
WindowsIdentity
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie przedstawiono użycie składowych WindowsIdentity klasy. Przykład pokazujący sposób uzyskiwania tokenu konta systemu Windows za pomocą wywołania niezarządzanej funkcji Win32 LogonUser i używania tego tokenu do personifikacji innego użytkownika, zobacz klasę 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

Uwagi

Wywołaj metodę WindowsIdentity , GetCurrent aby utworzyć obiekt reprezentujący bieżącego użytkownika.

Ważne

Ten typ implementuje IDisposable interfejs. Po zakończeniu korzystania z typu należy go usunąć bezpośrednio lub pośrednio. Aby usunąć typ bezpośrednio, wywołaj metodę Disposetry/catch w bloku. Aby usunąć go pośrednio, użyj konstrukcji językowej, takiej jak using (w języku C#) lub Using (w Visual Basic). Aby uzyskać więcej informacji, zobacz sekcję "Using an Object that Implements IDisposable" (Używanie obiektu implementujące protokół IDisposable) w temacie interfejsu IDisposable .

Konstruktory

WindowsIdentity(IntPtr)

Inicjuje WindowsIdentity nowe wystąpienie klasy dla użytkownika reprezentowanego przez określony token konta systemu Windows.

WindowsIdentity(IntPtr, String)

Inicjuje nowe wystąpienie WindowsIdentity klasy dla użytkownika reprezentowanego przez określony token konta systemu Windows i określony typ uwierzytelniania.

WindowsIdentity(IntPtr, String, WindowsAccountType)

Inicjuje nowe wystąpienie WindowsIdentity klasy dla użytkownika reprezentowanego przez określony token konta systemu Windows, określony typ uwierzytelniania i określony typ konta systemu Windows.

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Inicjuje nowe wystąpienie WindowsIdentity klasy dla użytkownika reprezentowanego przez określony token konta systemu Windows, określony typ uwierzytelniania, określony typ konta systemu Windows i określony stan uwierzytelniania.

WindowsIdentity(SerializationInfo, StreamingContext)
Przestarzałe.

Inicjuje WindowsIdentity nowe wystąpienie klasy dla użytkownika reprezentowanego przez informacje w strumieniu SerializationInfo .

WindowsIdentity(String)

Inicjuje WindowsIdentity nowe wystąpienie klasy dla użytkownika reprezentowanego przez określoną główną nazwę użytkownika (UPN).

WindowsIdentity(String, String)

Inicjuje WindowsIdentity nowe wystąpienie klasy dla użytkownika reprezentowanego przez określoną główną nazwę użytkownika (UPN) i określony typ uwierzytelniania.

WindowsIdentity(WindowsIdentity)

Inicjuje WindowsIdentity nowe wystąpienie klasy przy użyciu określonego WindowsIdentity obiektu.

Pola

DefaultIssuer

Określa nazwę domyślnego ClaimsIdentity wystawcy.

DefaultNameClaimType

Domyślny typ oświadczenia nazwy; Name.

(Odziedziczone po ClaimsIdentity)
DefaultRoleClaimType

Domyślny typ oświadczenia roli; Role.

(Odziedziczone po ClaimsIdentity)

Właściwości

AccessToken

Pobiera to SafeAccessTokenHandle dla tego WindowsIdentity wystąpienia.

Actor

Pobiera lub ustawia tożsamość strony wywołującej, która otrzymała prawa delegowania.

(Odziedziczone po ClaimsIdentity)
AuthenticationType

Pobiera typ uwierzytelniania używanego do identyfikowania użytkownika.

BootstrapContext

Pobiera lub ustawia token użyty do utworzenia tej tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
Claims

Pobiera wszystkie oświadczenia użytkownika reprezentowane przez tę tożsamość systemu Windows.

CustomSerializationData

Zawiera wszelkie dodatkowe dane dostarczone przez typ pochodny. Zazwyczaj ustawiane podczas wywoływania metody WriteTo(BinaryWriter, Byte[]).

(Odziedziczone po ClaimsIdentity)
DeviceClaims

Pobiera oświadczenia, które mają WindowsDeviceClaim klucz właściwości.

Groups

Pobiera grupy, do których należy bieżący użytkownik systemu Windows.

ImpersonationLevel

Pobiera poziom personifikacji dla użytkownika.

IsAnonymous

Pobiera wartość wskazującą, czy konto użytkownika jest identyfikowane jako konto anonimowe przez system.

IsAuthenticated

Pobiera wartość wskazującą, czy użytkownik został uwierzytelniony przez system Windows.

IsGuest

Pobiera wartość wskazującą Guest , czy konto użytkownika jest identyfikowane jako konto przez system.

IsSystem

Pobiera wartość wskazującą System , czy konto użytkownika jest identyfikowane jako konto przez system.

Label

Pobiera lub ustawia etykietę dla tej tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
Name

Pobiera nazwę logowania użytkownika systemu Windows.

NameClaimType

Pobiera typ oświadczenia używany do określania, które oświadczenia zapewniają wartość dla Name właściwości tej tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
Owner

Pobiera identyfikator zabezpieczeń (SID) dla właściciela tokenu.

RoleClaimType

Pobiera typ oświadczenia, który będzie interpretowany jako rola platformy .NET wśród oświadczeń w tej tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
Token

Pobiera token konta systemu Windows dla użytkownika.

User

Pobiera identyfikator zabezpieczeń (SID) dla użytkownika.

UserClaims

Pobiera oświadczenia, które mają WindowsUserClaim klucz właściwości.

Metody

AddClaim(Claim)

Dodaje pojedyncze oświadczenie do tej tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Dodaje listę oświadczeń do tej tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
Clone()

Tworzy nowy obiekt, który jest kopią bieżącego wystąpienia.

CreateClaim(BinaryReader)

Udostępnia punkt rozszerzalności dla typów pochodnych w celu utworzenia niestandardowego Claimelementu .

(Odziedziczone po ClaimsIdentity)
Dispose()

Zwalnia wszelkie zasoby używane przez element WindowsIdentity.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element WindowsIdentity i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia zasoby blokowane przez bieżące wystąpienie.

FindAll(Predicate<Claim>)

Pobiera wszystkie oświadczenia, które są zgodne z określonym predykatem.

(Odziedziczone po ClaimsIdentity)
FindAll(String)

Pobiera wszystkie oświadczenia, które mają określony typ oświadczenia.

(Odziedziczone po ClaimsIdentity)
FindFirst(Predicate<Claim>)

Pobiera pierwsze oświadczenie zgodne z określonym predykatem.

(Odziedziczone po ClaimsIdentity)
FindFirst(String)

Pobiera pierwsze oświadczenie z określonym typem oświadczenia.

(Odziedziczone po ClaimsIdentity)
GetAnonymous()

WindowsIdentity Zwraca obiekt, którego można użyć jako wartości sentinel w kodzie, aby reprezentować anonimowego użytkownika. Wartość właściwości nie reprezentuje wbudowanej tożsamości anonimowej używanej przez system operacyjny Windows.

GetCurrent()

WindowsIdentity Zwraca obiekt reprezentujący bieżącego użytkownika systemu Windows.

GetCurrent(Boolean)

WindowsIdentity Zwraca obiekt reprezentujący tożsamość systemu Windows dla wątku lub procesu, w zależności od wartości parametruifImpersonating.

GetCurrent(TokenAccessLevels)

WindowsIdentity Zwraca obiekt reprezentujący bieżącego użytkownika systemu Windows przy użyciu określonego żądanego poziomu dostępu tokenu.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Wypełnia dane SerializationInfo wymagane do serializacji bieżącego ClaimsIdentity obiektu.

(Odziedziczone po ClaimsIdentity)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
HasClaim(Predicate<Claim>)

Określa, czy ta tożsamość oświadczenia ma oświadczenie zgodne z określonym predykatem.

(Odziedziczone po ClaimsIdentity)
HasClaim(String, String)

Określa, czy ta tożsamość oświadczenia ma oświadczenie o określonym typie oświadczenia i wartości.

(Odziedziczone po ClaimsIdentity)
Impersonate()

Personifikuje użytkownika reprezentowanego WindowsIdentity przez obiekt.

Impersonate(IntPtr)

Personifikuje użytkownika reprezentowanego przez określony token użytkownika.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RemoveClaim(Claim)

Próbuje usunąć oświadczenie z tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
RunImpersonated(SafeAccessTokenHandle, Action)

Uruchamia określoną akcję jako personifikowaną tożsamość systemu Windows. Zamiast używać personifikowanego wywołania metody i uruchamiania funkcji w WindowsImpersonationContextprogramie , możesz użyć RunImpersonated(SafeAccessTokenHandle, Action) funkcji i podać funkcję bezpośrednio jako parametr.

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

Uruchamia określoną funkcję jako personifikowaną tożsamość systemu Windows. Zamiast używać personifikowanego wywołania metody i uruchamiania funkcji w WindowsImpersonationContextprogramie , możesz użyć RunImpersonated(SafeAccessTokenHandle, Action) funkcji i podać funkcję bezpośrednio jako parametr.

RunImpersonatedAsync(SafeAccessTokenHandle, Func<Task>)

Uruchamia określoną akcję asynchroniczną jako personifikowaną tożsamość systemu Windows.

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

Uruchamia określoną akcję asynchroniczną jako personifikowaną tożsamość systemu Windows.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TryRemoveClaim(Claim)

Próbuje usunąć oświadczenie z tożsamości oświadczeń.

(Odziedziczone po ClaimsIdentity)
WriteTo(BinaryWriter)

Serializuje przy użyciu klasy BinaryWriter.

(Odziedziczone po ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Serializuje przy użyciu klasy BinaryWriter.

(Odziedziczone po ClaimsIdentity)

Jawne implementacje interfejsu

IDeserializationCallback.OnDeserialization(Object)

Implementuje interfejs i jest wywoływany ISerializable z powrotem przez zdarzenie deserializacji po zakończeniu deserializacji.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo Ustawia obiekt z informacjami o kontekście logicznym wymaganymi do ponownego utworzenia wystąpienia tego kontekstu wykonywania.

Dotyczy