WindowsIdentity Classe

Definizione

Rappresenta un utente 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 ISerializable
    interface IDeserializationCallback
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
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type WindowsIdentity = class
    inherit ClaimsIdentity
    interface IIdentity
    interface IDeserializationCallback
    interface ISerializable
    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
Ereditarietà
WindowsIdentity
Ereditarietà
WindowsIdentity
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene illustrato l'uso dei membri della WindowsIdentity classe . Per un esempio che illustra come ottenere un token di account Windows tramite una chiamata alla funzione Win32 non gestita e usare tale token per rappresentare un altro utente, vedere LogonUser la WindowsImpersonationContext classe .

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

Commenti

Chiamare il GetCurrent metodo per creare un oggetto che rappresenta WindowsIdentity l'utente corrente.

Importante

Il tipo implementa l'interfaccia IDisposable. Dopo aver utilizzato il tipo, è necessario eliminarlo direttamente o indirettamente. Per eliminare direttamente il tipo, chiamare il metodo Dispose in un blocco try/catch. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using in C# o Using in Visual Basic. Per altre informazioni, vedere la sezione "Uso di un oggetto che implementa IDisposable" nell'argomento relativo all'interfaccia IDisposable.

Costruttori

WindowsIdentity(IntPtr)

Inizializza una nuova istanza della classe WindowsIdentity per l'utente rappresentato dal token di account Windows specificato.

WindowsIdentity(IntPtr, String)

Inizializza una nuova istanza della classe WindowsIdentity per l'utente rappresentato dal token di account Windows e dal tipo di autenticazione specificati.

WindowsIdentity(IntPtr, String, WindowsAccountType)

Inizializza una nuova istanza della classe WindowsIdentity per l'utente rappresentato dal token di account Windows, dal tipo di autenticazione e dal tipo di account Windows specificati.

WindowsIdentity(IntPtr, String, WindowsAccountType, Boolean)

Inizializza una nuova istanza della classe WindowsIdentity per l'utente rappresentato dal token di account Windows, dal tipo di autenticazione, dal tipo di account Windows e dallo stato di autenticazione specificati.

WindowsIdentity(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe WindowsIdentity per l'utente rappresentato dalle informazioni incluse in un flusso SerializationInfo.

WindowsIdentity(String)

Inizializza una nuova istanza della classe WindowsIdentity per l'utente rappresentato dal nome dell'entità utente (UPN) specificato.

WindowsIdentity(String, String)

Inizializza una nuova istanza della classe WindowsIdentity per l'utente rappresentato dal nome dell'entità utente (UPN) e dal tipo di autenticazione specificati.

WindowsIdentity(WindowsIdentity)

Inizializza una nuova istanza della classe WindowsIdentity usando l'oggetto WindowsIdentity specificato.

Campi

DefaultIssuer

Identifica il nome dell'autorità emittente di ClaimsIdentity predefinita.

DefaultNameClaimType

Tipo di attestazione del nome predefinito; Name.

(Ereditato da ClaimsIdentity)
DefaultRoleClaimType

Tipo di attestazione del ruolo predefinito; Role.

(Ereditato da ClaimsIdentity)

Proprietà

AccessToken

Ottiene l'oggetto SafeAccessTokenHandle per questa istanza di WindowsIdentity.

Actor

Ottiene o imposta l'identità del chiamante a cui sono stati concessi i diritti di delega.

(Ereditato da ClaimsIdentity)
AuthenticationType

Ottiene il tipo di autenticazione usata per identificare l'utente.

BootstrapContext

Ottiene o imposta il token utilizzato per creare questa identità basata sulle attestazioni.

(Ereditato da ClaimsIdentity)
Claims

Ottiene tutte le attestazioni per l'utente rappresentato da questa identità Windows.

Claims

Ottiene le attestazioni associate a questa identità delle attestazioni.

(Ereditato da ClaimsIdentity)
CustomSerializationData

Contiene i dati aggiuntivi forniti da un tipo derivato. Generalmente impostato durante la chiamata a WriteTo(BinaryWriter, Byte[]).

(Ereditato da ClaimsIdentity)
DeviceClaims

Ottiene le attestazioni con la chiave della proprietà WindowsDeviceClaim.

Groups

Ottiene i gruppi ai quali appartiene l'utente Windows corrente.

ImpersonationLevel

Ottiene il livello di rappresentazione dell'utente.

IsAnonymous

Ottiene un valore che indica se l'account utente è identificato dal sistema come account anonimo.

IsAuthenticated

Ottiene un valore che indica se l'utente è stato autenticato da Windows.

IsGuest

Ottiene un valore che indica se l'account utente è identificato dal sistema come account Guest.

IsSystem

Ottiene un valore che indica se l'account utente è identificato dal sistema come account System.

Label

Ottiene o imposta l'etichetta per l'identità delle attestazioni.

(Ereditato da ClaimsIdentity)
Name

Ottiene il nome di accesso di Windows dell'utente.

NameClaimType

Ottiene il tipo di attestazione utilizzato per determinare quali attestazioni forniscono il valore per la proprietà Name di tale identità delle attestazioni.

(Ereditato da ClaimsIdentity)
Owner

Ottiene l'ID di sicurezza (SID) del proprietario del token.

RoleClaimType

Ottiene il tipo di attestazione che verrà interpretato come ruolo di .NET tra le attestazioni in questa identità delle attestazioni.

(Ereditato da ClaimsIdentity)
Token

Ottiene il token di account Windows per l'utente.

User

Ottiene l'ID di sicurezza (SID) dell'utente.

UserClaims

Ottiene le attestazioni con la chiave della proprietà WindowsUserClaim.

Metodi

AddClaim(Claim)

Aggiunge un'attestazione singola all'identità di queste attestazioni.

(Ereditato da ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Aggiunge un elenco di attestazioni all'identità di queste attestazioni.

(Ereditato da ClaimsIdentity)
Clone()

Crea un nuovo oggetto che è una copia dell'istanza corrente.

Clone()

Restituisce un nuovo oggetto ClaimsIdentity copiato da questa identità delle attestazioni.

(Ereditato da ClaimsIdentity)
CreateClaim(BinaryReader)

Fornisce un punto di estendibilità per i punti derivati per creare un oggetto Claim personalizzato.

(Ereditato da ClaimsIdentity)
Dispose()

Rilascia tutte le risorse usate da WindowsIdentity.

Dispose(Boolean)

Rilascia le risorse non gestite usate da WindowsIdentity e, facoltativamente, le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Rilascia le risorse contenute nell'istanza corrente.

FindAll(Predicate<Claim>)

Recupera tutte le attestazioni che corrispondono al predicato specificato.

(Ereditato da ClaimsIdentity)
FindAll(String)

Recupera tutte le attestazioni con il tipo di attestazione specificato.

(Ereditato da ClaimsIdentity)
FindFirst(Predicate<Claim>)

Recupera la prima attestazione che corrisponde al predicato specificato.

(Ereditato da ClaimsIdentity)
FindFirst(String)

Recupera la prima attestazione con il tipo di attestazione specificato.

(Ereditato da ClaimsIdentity)
GetAnonymous()

Restituisce un oggetto WindowsIdentity che è possibile usare nel codice come valore di sentinel per rappresentare un utente anonimo. Il valore della proprietà non rappresenta l'identità anonima predefinita usata dal sistema operativo Windows.

GetCurrent()

Restituisce un oggetto WindowsIdentity che rappresenta l'utente Windows corrente.

GetCurrent(Boolean)

Restituisce un oggetto WindowsIdentity che rappresenta l'identità Windows del thread o del processo, a seconda del valore del parametro ifImpersonating.

GetCurrent(TokenAccessLevels)

Restituisce un oggetto WindowsIdentity che rappresenta l'utente Windows corrente, usando il livello di accesso del token specificato.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Popola l'oggetto SerializationInfo con i dati necessari per serializzare l'oggetto ClaimsIdentity corrente.

(Ereditato da ClaimsIdentity)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
HasClaim(Predicate<Claim>)

Determina se l'identità delle attestazioni possiede un'attestazione a cui corrisponde il predicato specificato.

(Ereditato da ClaimsIdentity)
HasClaim(String, String)

Determina se l'identità delle attestazioni ha un'attestazione con il tipo e il valore specificati.

(Ereditato da ClaimsIdentity)
Impersonate()

Rappresenta l'utente definito dall'oggetto WindowsIdentity.

Impersonate(IntPtr)

Rappresenta l'utente definito dal token utente specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
RemoveClaim(Claim)

Tenta di rimuovere un'attestazione dall'identità delle attestazioni.

(Ereditato da ClaimsIdentity)
RunImpersonated(SafeAccessTokenHandle, Action)

Esegue l'azione specificata come identità Windows rappresentata. Anziché usare una chiamata al metodo rappresentato ed eseguire la funzione in WindowsImpersonationContext, è possibile usare RunImpersonated(SafeAccessTokenHandle, Action) e fornire la funzione direttamente come parametro.

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

Esegue la funzione specificata come identità Windows rappresentata. Anziché usare una chiamata al metodo rappresentato ed eseguire la funzione in WindowsImpersonationContext, è possibile usare RunImpersonated(SafeAccessTokenHandle, Action) e fornire la funzione direttamente come parametro.

RunImpersonatedAsync(SafeAccessTokenHandle, Func<Task>)

Esegue l'azione asincrona specificata come identità Windows identità.

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

Esegue l'azione asincrona specificata come identità Windows identità.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryRemoveClaim(Claim)

Tenta di rimuovere un'attestazione dall'identità delle attestazioni.

(Ereditato da ClaimsIdentity)
WriteTo(BinaryWriter)

Esegue la serializzazione usando BinaryWriter.

(Ereditato da ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Esegue la serializzazione usando BinaryWriter.

(Ereditato da ClaimsIdentity)

Implementazioni dell'interfaccia esplicita

IDeserializationCallback.OnDeserialization(Object)

Implementa l'interfaccia ISerializable e viene richiamato dall'evento di deserializzazione al termine della deserializzazione.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Imposta l'oggetto SerializationInfo con le informazioni logiche sul contesto necessarie per ricreare un'istanza del contesto di esecuzione.

Si applica a