Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die System.Net Klassen unterstützen eine Vielzahl von Clientauthentifizierungsmechanismen, einschließlich der standardbasierten Internetauthentifizierungsmethoden Basic, Digest, Negotiate, NTLM und Kerberos-Authentifizierung sowie benutzerdefinierte Methoden, die Sie erstellen können.
Authentifizierungsanmeldeinformationen werden in den Klassen NetworkCredential und CredentialCache gespeichert, die die ICredentials Schnittstelle implementieren. Wenn eine dieser Klassen für Anmeldeinformationen abgefragt wird, wird eine Instanz der NetworkCredential Klasse zurückgegeben. Der Authentifizierungsprozess wird von der AuthenticationManager Klasse verwaltet, und der tatsächliche Authentifizierungsprozess wird von einer Authentifizierungsmodulklasse ausgeführt, die die IAuthenticationModule Schnittstelle implementiert. Sie müssen ein benutzerdefiniertes Authentifizierungsmodul mit AuthenticationManager registrieren, bevor es verwendet werden kann; Module für die Authentifizierungsmethoden Basic, Digest, Negotiate, NTLM und Kerberos werden standardmäßig registriert.
NetworkCredential speichert eine Gruppe von Anmeldeinformationen, die einer einzelnen Internetressource zugeordnet sind, die von einem URI identifiziert wird, und gibt sie als Reaktion auf einen beliebigen Aufruf der GetCredential Methode zurück. Die NetworkCredential Klasse wird in der Regel von Anwendungen verwendet, die auf eine begrenzte Anzahl von Internetressourcen oder von Anwendungen zugreifen, die in allen Fällen dieselbe Gruppe von Anmeldeinformationen verwenden.
Die CredentialCache Klasse speichert eine Sammlung von Anmeldeinformationen für verschiedene Webressourcen. Wenn die GetCredential Methode aufgerufen wird, CredentialCache wird der richtige Satz von Anmeldeinformationen zurückgegeben, wie durch den URI der Webressource und das angeforderte Authentifizierungsschema bestimmt. Anwendungen, die eine Vielzahl von Internetressourcen mit unterschiedlichen Authentifizierungsschemas verwenden, profitieren von der Verwendung der CredentialCache Klasse, da sie alle Anmeldeinformationen speichert und wie angefordert bereitstellt.
Wenn eine Internetressource eine Authentifizierung anfordert, sendet die WebRequest.GetResponse-Methode die WebRequest an das AuthenticationManager zusammen mit der Anforderung von Anmeldeinformationen. Die Anforderung wird dann gemäß dem folgenden Prozess authentifiziert:
AuthenticationManagerruft die Authenticate-Methode für jedes der registrierten Authentifizierungsmodule in der Reihenfolge ihrer Registrierung auf. DasAuthenticationManagerverwendet das erste Modul, das nichtnullzurückgibt, um den Authentifizierungsprozess durchzuführen. Die Details des Prozesses variieren je nach Art des beteiligten Authentifizierungsmoduls.Wenn der Authentifizierungsprozess abgeschlossen ist, gibt das Authentifizierungsmodul einen Authorization Wert an
WebRequestzurück, der die für den Zugriff auf die Internetressource erforderlichen Informationen enthält.
Einige Authentifizierungsschemas können einen Benutzer authentifizieren, ohne zuerst eine Anforderung für eine Ressource zu stellen. Eine Anwendung kann Zeit sparen, indem der Benutzer mit der Ressource vorab authentifiziert wird, wodurch mindestens ein Roundtrip zum Server eliminiert wird. Oder sie kann während des Programmstarts eine Authentifizierung durchführen, um später besser auf den Benutzer reagieren zu können. Authentifizierungsschemas, die die Vorauthentifizierung verwenden können, legen die PreAuthenticate Eigenschaft auf "true" fest.