WindowsIdentity Klasse

Definition

Stellt einen Windows-Benutzer dar.

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
Vererbung
WindowsIdentity
Vererbung
WindowsIdentity
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt die Verwendung von Membern WindowsIdentity Klasse. Ein Beispiel, das zeigt, wie Sie ein Windows-Kontotoken über einen Aufruf der nicht verwalteten Win32-LogonUser-Funktion abrufen und dieses Token zum Identitätswechsel eines anderen Benutzers verwenden, finden Sie in der WindowsImpersonationContext Klasse.

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

Hinweise

Rufen Sie die GetCurrent-Methode auf, um ein WindowsIdentity-Objekt zu erstellen, das den aktuellen Benutzer darstellt.

Wichtig

Dieser Typ implementiert die IDisposable Schnittstelle. Wenn Sie die Verwendung des Typs abgeschlossen haben, sollten Sie ihn entweder direkt oder indirekt verwerfen. Rufen Sie zum direkten Löschen des Typs die Dispose-Methode in einem try/catch-Block auf. Verwenden Sie zum indirekten Löschen ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das IDisposable implementiert", im Thema zur IDisposable Schnittstelle.

Konstruktoren

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Initialisiert eine neue Instanz der WindowsIdentity Klasse für den Benutzer, der durch das angegebene Windows-Kontotoken, den angegebenen Authentifizierungstyp, den angegebenen Windows-Kontotyp und den angegebenen Authentifizierungsstatus dargestellt wird.

WindowsIdentity(IntPtr, String, WindowsAccountType)

Initialisiert eine neue Instanz der WindowsIdentity-Klasse für den Benutzer, der durch das angegebene Windows-Kontotoken, den angegebenen Authentifizierungstyp und den angegebenen Windows-Kontotyp dargestellt wird.

WindowsIdentity(IntPtr, String)

Initialisiert eine neue Instanz der WindowsIdentity Klasse für den Benutzer, der durch das angegebene Windows-Kontotoken und den angegebenen Authentifizierungstyp dargestellt wird.

WindowsIdentity(IntPtr)

Initialisiert eine neue Instanz der WindowsIdentity Klasse für den Benutzer, der durch das angegebene Windows-Kontotoken dargestellt wird.

WindowsIdentity(SerializationInfo, StreamingContext)
Veraltet.

Initialisiert eine neue Instanz der WindowsIdentity Klasse für den Benutzer, dargestellt durch Informationen in einem SerializationInfo Datenstrom.

WindowsIdentity(String, String)

Initialisiert eine neue Instanz der WindowsIdentity Klasse für den Benutzer, dargestellt durch den angegebenen Benutzerprinzipalnamen (User Principal Name, UPN) und den angegebenen Authentifizierungstyp.

WindowsIdentity(String)

Initialisiert eine neue Instanz der WindowsIdentity-Klasse für den Benutzer, der durch den angegebenen Benutzerprinzipalnamen (User Principal Name, UPN) dargestellt wird.

WindowsIdentity(WindowsIdentity)

Initialisiert eine neue Instanz der WindowsIdentity Klasse mithilfe des angegebenen WindowsIdentity-Objekts.

Felder

DefaultIssuer

Gibt den Namen des Standardherausgebers ClaimsIdentity an.

DefaultNameClaimType

Der Standardnameanspruchstyp; Name.

(Geerbt von ClaimsIdentity)
DefaultRoleClaimType

Der Standardmäßige Rollenanspruchstyp; Role.

(Geerbt von ClaimsIdentity)

Eigenschaften

AccessToken

Ruft diese SafeAccessTokenHandle für diese WindowsIdentity Instanz ab.

Actor

Dient zum Abrufen oder Festlegen der Identität der aufrufenden Partei, der Delegierungsrechte gewährt wurden.

(Geerbt von ClaimsIdentity)
AuthenticationType

Ruft den Typ der Authentifizierung ab, die zum Identifizieren des Benutzers verwendet wird.

BootstrapContext

Ruft ab oder legt das Token fest, das zum Erstellen dieser Anspruchsidentität verwendet wurde.

(Geerbt von ClaimsIdentity)
Claims

Ruft alle Ansprüche für den Benutzer ab, der durch diese Windows-Identität dargestellt wird.

CustomSerializationData

Enthält alle zusätzlichen Daten, die von einem abgeleiteten Typ bereitgestellt werden. Wird normalerweise beim Aufrufen von WriteTo(BinaryWriter, Byte[])festgelegt.

(Geerbt von ClaimsIdentity)
DeviceClaims

Ruft Ansprüche ab, die den WindowsDeviceClaim Eigenschaftenschlüssel aufweisen.

Groups

Ruft die Gruppen ab, zu denen der aktuelle Windows-Benutzer gehört.

ImpersonationLevel

Ruft die Identitätswechselebene für den Benutzer ab.

IsAnonymous

Ruft einen Wert ab, der angibt, ob das Benutzerkonto vom System als anonymes Konto identifiziert wird.

IsAuthenticated

Ruft einen Wert ab, der angibt, ob der Benutzer von Windows authentifiziert wurde.

IsGuest

Ruft einen Wert ab, der angibt, ob das Benutzerkonto vom System als Guest Konto identifiziert wird.

IsSystem

Ruft einen Wert ab, der angibt, ob das Benutzerkonto vom System als System Konto identifiziert wird.

Label

Ruft die Bezeichnung für diese Anspruchsidentität ab oder legt sie fest.

(Geerbt von ClaimsIdentity)
Name

Ruft den Windows-Anmeldenamen des Benutzers ab.

NameClaimType

Ruft den Anspruchstyp ab, der verwendet wird, um zu bestimmen, welche Ansprüche den Wert für die Name Eigenschaft dieser Anspruchsidentität bereitstellen.

(Geerbt von ClaimsIdentity)
Owner

Ruft die Sicherheits-ID (SID) für den Tokenbesitzer ab.

RoleClaimType

Ruft den Anspruchstyp ab, der als .NET-Rolle unter den Ansprüchen in dieser Anspruchsidentität interpretiert wird.

(Geerbt von ClaimsIdentity)
Token

Ruft das Windows-Kontotoken für den Benutzer ab.

User

Ruft den Sicherheitsbezeichner (SID) für den Benutzer ab.

UserClaims

Ruft Ansprüche ab, die den WindowsUserClaim Eigenschaftenschlüssel aufweisen.

Methoden

AddClaim(Claim)

Fügt dieser Anspruchsidentität einen einzelnen Anspruch hinzu.

(Geerbt von ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Fügt dieser Anspruchsidentität eine Liste von Ansprüchen hinzu.

(Geerbt von ClaimsIdentity)
Clone()

Erstellt ein neues Objekt, das eine Kopie der aktuellen Instanz ist.

CreateClaim(BinaryReader)

Stellt einen Erweiterbarkeitspunkt für abgeleitete Typen bereit, um eine benutzerdefinierte Claimzu erstellen.

(Geerbt von ClaimsIdentity)
Dispose()

Gibt alle vom WindowsIdentityverwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die vom WindowsIdentity verwendet werden, und gibt optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Finalize()

Gibt die Ressourcen frei, die von der aktuellen Instanz gehalten werden.

FindAll(Predicate<Claim>)

Ruft alle Ansprüche ab, die mit dem angegebenen Prädikat übereinstimmen.

(Geerbt von ClaimsIdentity)
FindAll(String)

Ruft alle Ansprüche ab, die den angegebenen Anspruchstyp aufweisen.

(Geerbt von ClaimsIdentity)
FindFirst(Predicate<Claim>)

Ruft den ersten Anspruch ab, der mit dem angegebenen Prädikat übereinstimmt.

(Geerbt von ClaimsIdentity)
FindFirst(String)

Ruft den ersten Anspruch mit dem angegebenen Anspruchstyp ab.

(Geerbt von ClaimsIdentity)
GetAnonymous()

Gibt ein WindowsIdentity -Objekt zurück, das Sie als Sentinelwert in Ihrem Code verwenden können, um einen anonymen Benutzer darzustellen. Der Eigenschaftswert stellt nicht die integrierte anonyme Identität dar, die vom Windows-Betriebssystem verwendet wird.

GetCurrent()

Gibt ein WindowsIdentity -Objekt zurück, das den aktuellen Windows-Benutzer darstellt.

GetCurrent(Boolean)

Gibt ein WindowsIdentity -Objekt zurück, das die Windows-Identität für den Thread oder den Prozess darstellt, abhängig vom Wert des ifImpersonating-Parameters.

GetCurrent(TokenAccessLevels)

Gibt ein WindowsIdentity -Objekt zurück, das den aktuellen Windows-Benutzer mit der angegebenen gewünschten Tokenzugriffsebene darstellt.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Füllt die SerializationInfo mit Daten auf, die zum Serialisieren des aktuellen ClaimsIdentity-Objekts erforderlich sind.

(Geerbt von ClaimsIdentity)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
HasClaim(Predicate<Claim>)

Bestimmt, ob diese Anspruchsidentität über einen Anspruch verfügt, der vom angegebenen Prädikat abgeglichen wird.

(Geerbt von ClaimsIdentity)
HasClaim(String, String)

Bestimmt, ob diese Anspruchsidentität über einen Anspruch mit dem angegebenen Anspruchstyp und -wert verfügt.

(Geerbt von ClaimsIdentity)
Impersonate()

Imitiert den Benutzer, der durch das WindowsIdentity-Objekt dargestellt wird.

Impersonate(IntPtr)

Imitiert den Benutzer, der durch das angegebene Benutzertoken dargestellt wird.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
RemoveClaim(Claim)

Versucht, einen Anspruch aus der Anspruchsidentität zu entfernen.

(Geerbt von ClaimsIdentity)
RunImpersonated(SafeAccessTokenHandle, Action)

Führt die angegebene Aktion als identitätswechselte Windows-Identität aus. Anstatt einen imitierten Methodenaufruf zu verwenden und Ihre Funktion in WindowsImpersonationContextauszuführen, können Sie RunImpersonated(SafeAccessTokenHandle, Action) verwenden und Ihre Funktion direkt als Parameter bereitstellen.

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

Führt die angegebene Funktion als identitätswechselierte Windows-Identität aus. Anstatt einen imitierten Methodenaufruf zu verwenden und Ihre Funktion in WindowsImpersonationContextauszuführen, können Sie RunImpersonated(SafeAccessTokenHandle, Action) verwenden und Ihre Funktion direkt als Parameter bereitstellen.

RunImpersonatedAsync(SafeAccessTokenHandle, Func<Task>)

Führt die angegebene asynchrone Aktion als identitätswechselte Windows-Identität aus.

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

Führt die angegebene asynchrone Aktion als identitätswechselte Windows-Identität aus.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryRemoveClaim(Claim)

Versucht, einen Anspruch aus der Anspruchsidentität zu entfernen.

(Geerbt von ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Serialisiert mithilfe eines BinaryWriter.

(Geerbt von ClaimsIdentity)
WriteTo(BinaryWriter)

Serialisiert mithilfe eines BinaryWriter.

(Geerbt von ClaimsIdentity)

Explizite Schnittstellenimplementierungen

IDeserializationCallback.OnDeserialization(Object)

Implementiert die ISerializable Schnittstelle und wird vom Deserialisierungsereignis zurück aufgerufen, wenn die Deserialisierung abgeschlossen ist.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Legt das SerializationInfo -Objekt mit den logischen Kontextinformationen fest, die erforderlich sind, um eine Instanz dieses Ausführungskontexts neu zu erstellen.

Gilt für: