Elemento <identity>

Consente di controllare l'identità dell'applicazione Web. È possibile dichiarare questo elemento a qualsiasi livello, ovvero di computer, di sito, di applicazione, di sottodirectory o di pagina.

<configuration>
   <system.web>
      <identity>

<identityimpersonate="true|false"          userName="domain\username"          password="password"/>

Attributi obbligatori

Attributo Opzione Descrizione
impersonate     Specifica se viene utilizzata la rappresentazione client a ogni richiesta.
    true Specifica che viene utilizzata la rappresentazione client.
    false Specifica che non viene utilizzata la rappresentazione client.

Attributi facoltativi

Attributo Descrizione
userName Specifica il nome utente da utilizzare se impersonate è impostato su true.

userName e password sono memorizzati in testo non crittografato nel file di configurazione. Sebbene IIS non trasmetta file CONFIG in risposta a una richiesta di agente utente, è possibile leggere i file di configurazione in altro modo, ad esempio se si è un utente autenticato con le credenziali appropriate nel dominio che include il server. Per fornire un livello di protezione maggiore, la sezione relativa all'identità supporta la memorizzazione degli attributi userName e password crittografati nel Registro di sistema. Le credenziali devono essere in formato REG_BINARY e crittografate tramite le apposite funzioni della DPAPI (Data Protection API) di Windows 2000 e Windows XP. Per ulteriori informazioni, vedere le sezioni Osservazioni ed Esempio riportate di seguito.

password Specifica la password da utilizzare se impersonate è impostato su true. Per informazioni sulla memorizzazione delle credenziali crittografate dei processi di lavoro nel Registro di sistema, vedere userName.

Osservazioni

Memorizzazione di un nome utente e di una password nel Registro di sistema

Per crittografare il nome utente e la password e memorizzarli nel Registro di sistema, impostare userName e password come indicato di seguito.

   userName="registry:HKLM\Software\AspNetProcess,Name"
   password="registry:HKLM\Software\AspNetProcess,Pwd"

La parte di stringa che segue la parola chiave registry e che precede la virgola indica il nome della chiave di registro aperta da ASP.NET. La parte di stringa che segue la virgola include un solo nome di valore di stringa da cui in ASP.NET verranno lette le credenziali. La virgola è obbligatoria e le credenziali devono essere memorizzate nell'hive HKLM. Se il formato di configurazione non è corretto, il processo di lavoro non verrà avviato e verrà seguito il percorso corrente del codice di errore per la creazione di account.

Le credenziali devono essere in formato REG_BINARY e contenere l'output di una chiamata alla funzione dell'API di Windows CryptProtectData. È possibile creare le credenziali crittografate e memorizzarle nel Registro di sistema con l'applicazione console di ASP.NET per l'impostazione del Registro di sistema (Aspnet_setreg.exe), che utilizza CryptProtectData per eseguire la crittografia. Per eseguire il download di Aspnet_setreg.exe, completo di codice sorgente Visual C++ e documentazione, visitare il sito Web www.asp.net e cercare "aspnet_setreg" (informazioni in lingua inglese).

È necessario configurare l'accesso alla chiave in cui sono memorizzate le credenziali crittografate in modo che sia disponibile solo per i gruppi Administrators e SYSTEM. Poiché la chiave verrà letta dal processo ASP.NET in esecuzione come SYSTEM, è necessario impostare le seguenti autorizzazioni:

Administrators:F

SYSTEM:F

CREATOR OWNER:F

ProcessAccount:R

In questo modo viene creata una doppia linea di difesa per la protezione dei dati:

  • Per accedere alle autorizzazioni ACL sarà necessario appartenere al gruppo Administrators.
  • Eventuali pirati informatici dovranno eseguire codice sul server (CryptUnprotectData) per recuperare le credenziali dell'account.

Esempio

Nell'esempio che segue la rappresentazione dell'identità client viene impostata su true.

<configuration>
   <system.web>
      <identity impersonate="true"/>
   </system.web>
</configuration>

Nell'esempio che segue viene specificato che il nome utente e la password crittografati sono memorizzati nel Registro di sistema nella chiave AspNetIdentity definita dall'utente.

<configuration>
   <system.web>
      <identity>
         userName="registry:HKLM\Software\AspNetIdentity,Name"
         password="registry:HKLM\Software\AspNetIdentity,Pwd"
      </identity>
   </system.web>
</configuration>

Requisiti

Contenuto in: <system.web>

Piattaforma Web: IIS 5.0, IIS 5.1, IIS 6.0

File di configurazione: Machine.config, Web.config

Gestore della sezione di configurazione: System.Web.Configuration.IdentityConfigHandler

Vedere anche

Configurazione ASP.NET | Schema delle impostazioni ASP.NET