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 Reihe von Verfahren zur Clientauthentifizierung, einschließlich der folgenden Standardauthentifizierungsmethoden im Internet: Basis-, Digest-, ausgehandelte, NTLM- und Kerberos-Authentifizierung sowie benutzerdefinierte Methoden, die Sie selbst erstellen können.
Anmeldeinformationen für die Authentifizierung werden in der NetworkCredential-Klasse und der CredentialCache-Klasse gespeichert, die die ICredentials-Schnittstelle implementieren. Wenn eine dieser Klassen nach Anmeldeinformationen abgefragt wird, gibt sie eine Instanz der NetworkCredential-Klasse zurück. Der Authentifizierungsprozess wird von der AuthenticationManager-Klasse verwaltet. Der eigentliche Authentifizierungsvorgang wird durch eine Klasse von Authentifizierungsmodulen durchgeführt, die die IAuthenticationModule-Schnittstelle implementiert. Sie müssen ein benutzerdefiniertes Authentifizierungsmodul vor der Verwendung im AuthenticationManager registrieren. Module für die Basis-, Digest-, ausgehandelte, NTLM- und Kerberos-Authentifizierungsmethoden werden standardmäßig registriert.
NetworkCredential speichert einen Satz von Anmeldeinformationen, die einer einzelnen, durch einen URI angegebenen Internetressource zugeordnet sind. Die Anmeldeinformationen werden bei jedem Aufruf der GetCredential-Methode zurückgegeben. Die NetworkCredential-Klasse wird i. d. R. von Anwendungen verwendet, die auf eine begrenzte Anzahl von Internetressourcen zugreifen, oder von Anwendungen, die immer denselben Satz von Anmeldeinformationen verwenden.
Die CredentialCache-Klasse speichert eine Auflistung von Anmeldeinformationen für verschiedene Webressourcen. Beim Aufruf der GetCredential-Methode gibt CredentialCache den entsprechenden Satz von Anmeldeinformationen zurück, der durch den URI der Webressource und das angeforderte Authentifizierungsschema bestimmt wird. Für Anwendungen, die mehrere Internetressourcen mit verschiedenen Authentifizierungsschemas verwenden, bietet sich die CredentialCache-Klasse an, da sie alle Anmeldeinformationen speichert und auf Anforderung bereitstellt.
Wenn eine Internetressource Authentifizierung anfordert, sendet die WebRequest.GetResponse-Methode mit der Anforderung von Anmeldeinformationen WebRequest an den AuthenticationManager. Die Anforderung wird anschließend entsprechend dem folgenden Prozess authentifiziert:
- Der AuthenticationManager ruft für jedes registrierte Authentifizierungsmodul in der Reihenfolge der Registrierung die Authenticate-Methode auf. Der AuthenticationManager führt den Authentifizierungsprozess mit dem ersten Modul aus, für das nicht null zurückgegeben wird. Die einzelnen Schritte des Prozesses können je nach Authentifizierungsmodul etwas voneinander abweichen.
- Nach dem Abschluss des Authentifizierungsprozesses gibt das Authentifizierungsmodul eine "Authorization" an den WebRequest zurück, die die erforderlichen Informationen für den Zugriff auf die Internetressource enthält.
Einige Authentifizierungsschemas können einen Benutzer authentifizieren, ohne zuvor eine Ressource anzufordern. Durch Vorauthentifizierung des Benutzers bei der Ressource wird die Verarbeitungszeit einer Anwendung verringert, da mindestens eine Schleife zum Server entfällt. Die Authentifizierung kann auch beim Starten des Programms ausgeführt werden, wodurch die Anwendung später schneller auf Anforderungen des Benutzers reagieren kann. Authentifizierungsschemas, die Vorauthentifizierung verwenden, können die CanPreAuthenticate-Eigenschaft auf true setzen.
Siehe auch
Basis- und Digestauthentifizierung | NTLM- und Kerberos-Authentifizierung | Internetsicherheit