Condividi tramite


Provider di autenticazione Windows

L'autenticazione Windows considera l'identità dell'utente fornita da Microsoft Internet Information Services (IIS) come l'utente autenticato in un'applicazione ASP.NET. IIS fornisce una serie di meccanismi di autenticazione per verificare l'identità dell'utente, compresa l'autenticazione anonima, l'autenticazione integrata di Windows (NTLM), l'autenticazione integrata di Windows (Kerberos), l'autenticazione di base (codificata in base 64), l'autenticazione Digest e l'autenticazione basata sui certificati del client.

L'autenticazione di Windows viene implementata in ASP.NET tramite il modulo WindowsAuthenticationModule. Il modulo costruisce un oggetto WindowsIdentity in base alle credenziali fornite da IIS e imposta l'identità come il valore corrente della proprietà User per l'applicazione.

L'autenticazione di Windows è il meccanismo di autenticazione predefinito per le applicazioni ASP.NET ed è identificato come la modalità di autenticazione per un'applicazione tramite l'elemento di configurazione authentication mode, come indicato nell'esempio riportato di seguito.

<system.web>
  <authentication mode="Windows"/>
</system.web>

Rappresentazione dell'identità Windows

Sebbene la modalità autenticazione di Windows imposti il valore corrente della proprietà User su un oggetto WindowsIdentity in base alle credenziali fornite da IIS, non modifica l'identità Windows fornita al sistema operativo. L'identità Windows fornita al sistema operativo viene utilizzata per il controllo delle autorizzazioni, quali le autorizzazioni dei file NTFS, o per la connessione a un database con la protezione integrata. Per impostazione predefinita, tale identità Windows è quella del processo ASP.NET. In Microsoft Windows 2000 e Windows XP Professional è costituita dall'identità del processo di lavoro ASP.NET che è l'account ASPNET locale. In Windows Server 2003 è l'identità del pool di applicazioni di IIS a cui l'applicazione ASP.NET appartiene. Per impostazione predefinita, l'identità è l'account NETWORK SERVICE.

È possibile configurare l'identità Windows dell'applicazione ASP.NET come l'identità Windows fornita da IIS attivando la rappresentazione, ossia indicando all'applicazione ASP.NET di rappresentare l'identità fornita da IIS per tutte le attività autenticate dal sistema operativo Windows, compreso l'accesso ai file e alla rete.

Per attivare la rappresentazione per l'applicazione Web, nel file Web.config dell'applicazione impostare l'attributo impersonate dell'elemento identity su true, come indicato nell'esempio di codice riportato di seguito.

<system.web>
  <authentication mode="Windows"/>
  <identity impersonate="true"/>
</system.web>

Per ulteriori informazioni sull'identità del processo ASP.NET, vedere Configurazione dell'identità dei processi ASP.NET. Per ulteriori informazioni sulla rappresentazione, vedere il metodo Impersonate.

Attivazione dell'autorizzazione utilizzando gli elenchi di controllo di accesso NTFS

È possibile migliorare la protezione dell'applicazione ASP.NET proteggendo i file dell'applicazione mediante il file system NTFS e gli elenchi di controllo di accesso (ACL). Gli ACL consentono di specificare gli utenti e i gruppi di utenti che hanno accesso ai file dell'applicazione. Per l'elenco delle autorizzazioni dei file NTFS minime richieste affinché un'identità Windows possa essere eseguita come l'identità di una pagina ASP.NET, vedere Elenchi di controllo di accesso (ACL, Access Control List) ASP.NET necessari.

Nota

È inoltre possibile utilizzare i ruoli ASP.NET per gestire l'autorizzazione utente per le pagine e le sezioni dell'applicazione Web. Per ulteriori informazioni, vedere Gestione delle autorizzazioni tramite ruoli.

Vedere anche

Attività

Procedura: creare un oggetto WindowsPrincipal
Procedura: creare oggetti GenericPrincipal e GenericIdentity

Altre risorse

Protezione delle applicazioni Web ASP.NET
Autenticazione ASP.NET