WindowsIdentity WindowsIdentity WindowsIdentity WindowsIdentity Class

Définition

Représente un utilisateur Windows.Represents a Windows user.

public ref class WindowsIdentity : System::Security::Claims::ClaimsIdentity, IDisposable, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class WindowsIdentity : System.Security.Claims.ClaimsIdentity, IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type WindowsIdentity = class
    inherit ClaimsIdentity
    interface IIdentity
    interface IDeserializationCallback
    interface ISerializable
    interface IDisposable
Public Class WindowsIdentity
Inherits ClaimsIdentity
Implements IDeserializationCallback, IDisposable, ISerializable
Héritage
WindowsIdentityWindowsIdentityWindowsIdentityWindowsIdentity
Attributs
Implémente

Exemples

L’exemple suivant illustre l’utilisation de membres de WindowsIdentity classe.The following example shows the use of members of WindowsIdentity class. Pour obtenir un exemple montrant comment obtenir un Windows jeton de compte via un appel à Win32 non managée LogonUser (fonction) et utilisation de ce jeton pour emprunter l’identité d’un autre utilisateur, consultez la WindowsImpersonationContext classe.For an example showing how to obtain a Windows account token through a call to the unmanaged Win32 LogonUser function, and use that token to impersonate another user, see the WindowsImpersonationContext class.

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
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

Remarques

Appelez le GetCurrent méthode pour créer un WindowsIdentity objet qui représente l’utilisateur actuel.Call the GetCurrent method to create a WindowsIdentity object that represents the current user.

Important

Ce type implémente le IDisposable interface.This type implements the IDisposable interface. Lorsque vous avez fini d’utiliser le type, vous devez supprimer il directement ou indirectement.When you have finished using the type, you should dispose of it either directly or indirectly. Pour supprimer le type directement, appelez sa Dispose méthode dans un try / catch bloc.To dispose of the type directly, call its Dispose method in a try/catch block. Pour supprimer indirectement, utiliser une construction de langage tel que using (en c#) ou Using (en Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Pour plus d’informations, consultez la section « À l’aide un objet qui implémente IDisposable » dans le IDisposable rubrique de l’interface.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Constructeurs

WindowsIdentity(IntPtr) WindowsIdentity(IntPtr) WindowsIdentity(IntPtr) WindowsIdentity(IntPtr)

Initialise une nouvelle instance de la classe WindowsIdentity pour l'utilisateur représenté par le jeton de compte Windows spécifié.Initializes a new instance of the WindowsIdentity class for the user represented by the specified Windows account token.

WindowsIdentity(IntPtr, String) WindowsIdentity(IntPtr, String) WindowsIdentity(IntPtr, String) WindowsIdentity(IntPtr, String)

Initialise une nouvelle instance de la classe WindowsIdentity pour l'utilisateur représenté par le jeton de compte Windows et le type d'authentification spécifiés.Initializes a new instance of the WindowsIdentity class for the user represented by the specified Windows account token and the specified authentication type.

WindowsIdentity(IntPtr, String, WindowsAccountType) WindowsIdentity(IntPtr, String, WindowsAccountType) WindowsIdentity(IntPtr, String, WindowsAccountType) WindowsIdentity(IntPtr, String, WindowsAccountType)

Initialise une nouvelle instance de la classe WindowsIdentity pour l'utilisateur représenté par le jeton de compte Windows, le type d'authentification et le type de compte Windows spécifiés.Initializes a new instance of the WindowsIdentity class for the user represented by the specified Windows account token, the specified authentication type, and the specified Windows account type.

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean) WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean) WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean) WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Initialise une nouvelle instance de la classe WindowsIdentity pour l'utilisateur représenté par le jeton de compte Windows, le type d'authentification et le type de compte Windows et l'état d'authentification spécifiés.Initializes a new instance of the WindowsIdentity class for the user represented by the specified Windows account token, the specified authentication type, the specified Windows account type, and the specified authentication status.

WindowsIdentity(SerializationInfo, StreamingContext) WindowsIdentity(SerializationInfo, StreamingContext) WindowsIdentity(SerializationInfo, StreamingContext) WindowsIdentity(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe WindowsIdentity pour l'utilisateur représenté par des informations dans un flux SerializationInfo.Initializes a new instance of the WindowsIdentity class for the user represented by information in a SerializationInfo stream.

WindowsIdentity(String) WindowsIdentity(String) WindowsIdentity(String) WindowsIdentity(String)

Initialise une nouvelle instance de la classe WindowsIdentity pour l'utilisateur représenté par le nom d'utilisateur principal (UPN, User Principal Name) spécifié.Initializes a new instance of the WindowsIdentity class for the user represented by the specified User Principal Name (UPN).

WindowsIdentity(String, String) WindowsIdentity(String, String) WindowsIdentity(String, String) WindowsIdentity(String, String)

Initialise une nouvelle instance de la classe WindowsIdentity pour l'utilisateur représenté par le nom d'utilisateur principal (UPN) et le type d'authentification spécifiés.Initializes a new instance of the WindowsIdentity class for the user represented by the specified User Principal Name (UPN) and the specified authentication type.

WindowsIdentity(WindowsIdentity) WindowsIdentity(WindowsIdentity) WindowsIdentity(WindowsIdentity) WindowsIdentity(WindowsIdentity)

Initialise une nouvelle instance de la classe WindowsIdentity à l'aide de l'objet WindowsIdentity spécifié.Initializes a new instance of the WindowsIdentity class by using the specified WindowsIdentity object.

Champs

DefaultIssuer DefaultIssuer DefaultIssuer DefaultIssuer

Identifie le nom de l'émetteur ClaimsIdentity par défaut.Identifies the name of the default ClaimsIdentity issuer.

Propriétés

AccessToken AccessToken AccessToken AccessToken

Obtient ce SafeAccessTokenHandle pour cette instance de WindowsIdentity.Gets this SafeAccessTokenHandle for this WindowsIdentity instance.

AuthenticationType AuthenticationType AuthenticationType AuthenticationType

Obtient le type d'authentification utilisé pour identifier l'utilisateur.Gets the type of authentication used to identify the user.

Claims Claims Claims Claims

Obtient toutes les revendications pour l'utilisateur représenté par cette identité Windows.Gets all claims for the user represented by this Windows identity.

DeviceClaims DeviceClaims DeviceClaims DeviceClaims

Obtient les revendications qui ont la clé de propriété WindowsDeviceClaim.Gets claims that have the WindowsDeviceClaim property key.

Groups Groups Groups Groups

Obtient les groupes auxquels l'utilisateur Windows actuel appartient.Gets the groups the current Windows user belongs to.

ImpersonationLevel ImpersonationLevel ImpersonationLevel ImpersonationLevel

Obtient le niveau d'emprunt d'identité pour l'utilisateur.Gets the impersonation level for the user.

IsAnonymous IsAnonymous IsAnonymous IsAnonymous

Obtient une valeur qui indique si le compte d'utilisateur est identifié en tant que compte anonyme par le système.Gets a value that indicates whether the user account is identified as an anonymous account by the system.

IsAuthenticated IsAuthenticated IsAuthenticated IsAuthenticated

Obtient une valeur indiquant si l'utilisateur a été authentifié par Windows.Gets a value indicating whether the user has been authenticated by Windows.

IsGuest IsGuest IsGuest IsGuest

Obtient une valeur indiquant si le compte d'utilisateur est identifié en tant que compte Guest par le système.Gets a value indicating whether the user account is identified as a Guest account by the system.

IsSystem IsSystem IsSystem IsSystem

Obtient une valeur indiquant si le compte d'utilisateur est identifié en tant que compte System par le système.Gets a value indicating whether the user account is identified as a System account by the system.

Name Name Name Name

Obtient le nom de connexion Windows de l'utilisateur.Gets the user's Windows logon name.

Owner Owner Owner Owner

Obtient l'identificateur de sécurité (SID) pour le propriétaire du jeton.Gets the security identifier (SID) for the token owner.

Token Token Token Token

Obtient le jeton de compte Windows pour l'utilisateur.Gets the Windows account token for the user.

User User User User

Obtient l'identificateur de sécurité (SID) pour l'utilisateur.Gets the security identifier (SID) for the user.

UserClaims UserClaims UserClaims UserClaims

Obtient les revendications qui ont la clé de propriété WindowsUserClaim.Gets claims that have the WindowsUserClaim property key.

Méthodes

Clone() Clone() Clone() Clone()

Crée un objet qui est une copie de l'instance actuelle.Creates a new object that is a copy of the current instance.

Dispose() Dispose() Dispose() Dispose()

Libère toutes les ressources utilisées par WindowsIdentity.Releases all resources used by the WindowsIdentity.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libère les ressources non managées utilisées par WindowsIdentity et libère éventuellement les ressources managées.Releases the unmanaged resources used by the WindowsIdentity and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Libère les ressources détenues par l’instance actuelle.Releases the resources held by the current instance.

GetAnonymous() GetAnonymous() GetAnonymous() GetAnonymous()

Retourne un objet WindowsIdentity que vous pouvez utiliser comme valeur de sentinelle dans votre code pour représenter un utilisateur anonyme.Returns a WindowsIdentity object that you can use as a sentinel value in your code to represent an anonymous user. La valeur de propriété ne représente pas l'identité anonyme prédéfinie utilisée par le système d'exploitation Windows.The property value does not represent the built-in anonymous identity used by the Windows operating system.

GetCurrent() GetCurrent() GetCurrent() GetCurrent()

Retourne un objet WindowsIdentity qui représente l'utilisateur Windows actuel.Returns a WindowsIdentity object that represents the current Windows user.

GetCurrent(Boolean) GetCurrent(Boolean) GetCurrent(Boolean) GetCurrent(Boolean)

Retourne un objet WindowsIdentity représentant l'identité Windows pour le thread ou le processus, selon la valeur du paramètre ifImpersonating.Returns a WindowsIdentity object that represents the Windows identity for either the thread or the process, depending on the value of the ifImpersonating parameter.

GetCurrent(TokenAccessLevels) GetCurrent(TokenAccessLevels) GetCurrent(TokenAccessLevels) GetCurrent(TokenAccessLevels)

Retourne un objet WindowsIdentity qui représente l'utilisateur Windows actuel, en utilisant le niveau d'accès du jeton souhaité spécifié.Returns a WindowsIdentity object that represents the current Windows user, using the specified desired token access level.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
Impersonate() Impersonate() Impersonate() Impersonate()

Emprunte l'identité de l'utilisateur représenté par l'objet WindowsIdentity.Impersonates the user represented by the WindowsIdentity object.

Impersonate(IntPtr) Impersonate(IntPtr) Impersonate(IntPtr) Impersonate(IntPtr)

Emprunte l'identité de l'utilisateur représenté par le jeton utilisateur spécifié.Impersonates the user represented by the specified user token.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
RunImpersonated(SafeAccessTokenHandle, Action) RunImpersonated(SafeAccessTokenHandle, Action) RunImpersonated(SafeAccessTokenHandle, Action) RunImpersonated(SafeAccessTokenHandle, Action)

Exécute l'action spécifiée en tant qu'identité Windows empruntée.Runs the specified action as the impersonated Windows identity. Au lieu d'utiliser un appel de méthode emprunté et d'exécuter votre fonction dans WindowsImpersonationContext, vous pouvez utiliser RunImpersonated(SafeAccessTokenHandle, Action) et fournir votre fonction directement en tant que paramètre.Instead of using an impersonated method call and running your function in WindowsImpersonationContext, you can use RunImpersonated(SafeAccessTokenHandle, Action) and provide your function directly as a parameter.

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

Exécute la fonction spécifiée en tant qu'identité Windows empruntée.Runs the specified function as the impersonated Windows identity. Au lieu d'utiliser un appel de méthode emprunté et d'exécuter votre fonction dans WindowsImpersonationContext, vous pouvez utiliser RunImpersonated(SafeAccessTokenHandle, Action) et fournir votre fonction directement en tant que paramètre.Instead of using an impersonated method call and running your function in WindowsImpersonationContext, you can use RunImpersonated(SafeAccessTokenHandle, Action) and provide your function directly as a parameter.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Implémentations d’interfaces explicites

IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object)

Implémente l’interface ISerializable et est rappelé par l’événement de désérialisation quand la désérialisation est terminée.Implements the ISerializable interface and is called back by the deserialization event when deserialization is complete.

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Définit l'objet SerializationInfo avec les informations de contexte logiques nécessaires à la recréation d'une instance de ce contexte d'exécution.Sets the SerializationInfo object with the logical context information needed to recreate an instance of this execution context.

S’applique à