Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le System.Net classi supportano un'ampia gamma di meccanismi di autenticazione client, inclusi i metodi di autenticazione Internet standard di base, digest, negotiate, NTLM e l'autenticazione Kerberos, nonché metodi personalizzati che è possibile creare.
Le credenziali di autenticazione vengono archiviate nelle NetworkCredential classi e CredentialCache che implementano l'interfaccia ICredentials . Quando una di queste classi viene sottoposta a query per le credenziali, restituisce un'istanza della classe NetworkCredential . Il processo di autenticazione viene gestito dalla AuthenticationManager classe e il processo di autenticazione effettivo viene eseguito da una classe del modulo di autenticazione che implementa l'interfaccia IAuthenticationModule . È necessario registrare un modulo di autenticazione personalizzato con AuthenticationManager prima di poterlo usare; I moduli per i metodi di autenticazione basic, digest, negotiate, NTLM e Kerberos vengono registrati per impostazione predefinita.
NetworkCredential archivia un set di credenziali associato a una singola risorsa Internet identificata da un URI e li restituisce in risposta a qualsiasi chiamata al GetCredential metodo . La classe NetworkCredential viene in genere usata dalle applicazioni che accedono a un numero limitato di risorse Internet o da applicazioni che usano lo stesso set di credenziali in tutti i casi.
La classe CredentialCache archivia una raccolta di credenziali per varie risorse Web. Quando viene chiamato il GetCredential metodo, CredentialCache restituisce il set corretto di credenziali, come determinato dall'URI della risorsa Web e dallo schema di autenticazione richiesto. Le applicazioni che usano un'ampia gamma di risorse Internet con schemi di autenticazione diversi traggono vantaggio dall'uso della classe CredentialCache , poiché archivia tutte le credenziali e le fornisce come richiesto.
Quando una risorsa Internet richiede l'autenticazione, il WebRequest.GetResponse metodo invia WebRequest a AuthenticationManager insieme alla richiesta di credenziali. La richiesta viene quindi autenticata in base al processo seguente:
AuthenticationManager chiama il Authenticate metodo in ognuno dei moduli di autenticazione registrati nell'ordine in cui sono stati registrati. AuthenticationManager usa il primo modulo che non restituisce Null per eseguire il processo di autenticazione. I dettagli del processo variano a seconda del tipo di modulo di autenticazione coinvolto.
Al termine del processo di autenticazione, il modulo di autenticazione restituisce un oggetto Authorization a WebRequest contenente le informazioni necessarie per accedere alla risorsa Internet.
Alcuni schemi di autenticazione possono autenticare un utente senza prima effettuare una richiesta per una risorsa. Un'applicazione può risparmiare tempo preautenticando l'utente con la risorsa, eliminando così almeno un round trip al server. In alternativa, può eseguire l'autenticazione durante l'avvio del programma per essere più reattiva all'utente in un secondo momento. Gli schemi di autenticazione che possono usare la preautenticazione impostano la PreAuthenticate proprietà su true.
Vedere anche
- Autenticazione Basic e Digest
- Autenticazione NTLM e Kerberos
- Sicurezza nella programmazione di rete