Autenticazione integrata di Windows
di Mike Wasson
La autenticazione di Windows integrata consente agli utenti di accedere con le proprie credenziali di Windows, usando Kerberos o NTLM. Il client invia le credenziali nell'intestazione Autorizzazione. L'autenticazione di Windows è particolarmente adatta per un ambiente Intranet. Per altre informazioni, vedere Autenticazione di Windows.
Vantaggi | Svantaggi |
---|---|
Integrato in IIS. | Non consigliato per le applicazioni Internet. |
Non invia le credenziali utente nella richiesta. | Richiede il supporto Kerberos o NTLM nel client. |
Se il computer client appartiene al dominio (ad esempio, applicazione Intranet), l'utente non deve immettere le credenziali. | Il client deve trovarsi nel dominio di Active Directory. |
Nota
Se l'applicazione è ospitata in Azure e si ha un dominio di Active Directory locale, è consigliabile eseguire la federazione di AD locale con Azure Active Directory. In questo modo, gli utenti possono accedere con le credenziali locali, ma l'autenticazione viene eseguita da Azure AD. Per altre informazioni, vedere Autenticazione di Azure.
Per creare un'applicazione che usa integrated autenticazione di Windows, selezionare il modello "Applicazione Intranet" nella procedura guidata del progetto MVC 4. Questo modello di progetto inserisce l'impostazione seguente nel file Web.config:
<system.web>
<authentication mode="Windows" />
</system.web>
Sul lato client, Integrated autenticazione di Windows funziona con qualsiasi browser che supporta lo schema di autenticazione Negotiate, che include la maggior parte dei browser principali. Per le applicazioni client .NET, la classe HttpClient supporta autenticazione di Windows:
HttpClientHandler handler = new HttpClientHandler()
{
UseDefaultCredentials = true
};
HttpClient client = new HttpClient(handler);
autenticazione di Windows è vulnerabile agli attacchi csrF (Cross-Site Request Forgery). Vedere Prevenzione degli attacchi di richiesta intersito falsi (CSRF).