ICredentialPolicy Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert die Anmeldeinformationen-Richtlinie, die für mit WebRequest und davon abgeleiteten Klassen durchgeführte Ressourcenanforderungen verwendet werden soll.
public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
- Abgeleitet
Beispiele
Im folgenden Codebeispiel wird eine Implementierung dieser Schnittstelle gezeigt, die Anmeldeinformationen nur für Anforderungen an bestimmte Hosts sendet.
public ref class SelectedHostsCredentialPolicy: public ICredentialPolicy
{
public:
SelectedHostsCredentialPolicy(){}
virtual bool ShouldSendCredential( Uri^ challengeUri, WebRequest^ request, NetworkCredential^ /*credential*/, IAuthenticationModule^ /*authModule*/ )
{
Console::WriteLine( L"Checking custom credential policy." );
if ( request->RequestUri->Host->Equals( L"www.contoso.com" ) || challengeUri->IsLoopback == true )
return true;
return false;
}
};
public class SelectedHostsCredentialPolicy: ICredentialPolicy
{
public SelectedHostsCredentialPolicy()
{
}
public virtual bool ShouldSendCredential(Uri challengeUri,
WebRequest request,
NetworkCredential credential,
IAuthenticationModule authModule)
{
Console.WriteLine("Checking custom credential policy.");
if (request.RequestUri.Host == "www.contoso.com" ||
challengeUri.IsLoopback == true)
return true;
return false;
}
}
Hinweise
Die Anmeldeinformationenrichtlinie bestimmt, ob Anmeldeinformationen beim Senden WebRequest einer Netzwerkressource, z. B. der Inhalt einer Webseite, gesendet werden sollen. Wenn Anmeldeinformationen gesendet werden, können Server, die die Clientauthentifizierung erfordern, versuchen, den Client zu authentifizieren, wenn die Anforderung empfangen wird, anstatt eine Antwort zu senden, die angibt, dass die Anmeldeinformationen des Clients erforderlich sind. Während dies einen Rundtrip zum Server speichert, muss dieser Leistungsgewinn gegen das Sicherheitsrisiko im Rahmen des Sendens von Anmeldeinformationen im gesamten Netzwerk ausgeglichen werden. Wenn der Zielserver keine Clientauthentifizierung erfordert, empfiehlt es sich, Anmeldeinformationen zu senden.
Hinweis
ICredentialPolicy Richtlinien werden nur aufgerufen, wenn die WebRequest oder die WebProxy der Anforderung zugeordnete Anmeldeinformationen enthält, die nicht nullvorhanden sind. Das Festlegen dieser Richtlinie hat keine Auswirkungen auf Anforderungen, die keine Anmeldeinformationen angeben.
Verwenden Sie die AuthenticationManager.CredentialPolicy Eigenschaft, um eine ICredentialPolicy Richtlinie festzulegen. Die IAuthenticationModule Authentifizierung für die Anforderung wird vor dem Ausführen der Authentifizierung aufgerufen ShouldSendCredential . Wenn die Methode zurückgegeben falsewird, wird die Authentifizierung nicht ausgeführt.
Eine ICredentialPolicy Richtlinie wirkt sich auf alle Instanzen WebRequest mit nicht null Anmeldeinformationen in der aktuellen Anwendungsdomäne aus. Die Richtlinie kann nicht für einzelne Anforderungen außer Kraft gesetzt werden.
Methoden
| ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) |
Gibt einen Boolean-Wert zurück, der angibt, ob die Anmeldeinformationen des Clients mit einer Ressourcenanforderung gesendet werden, die mithilfe einer Instanz der WebRequest-Klasse ausgeführt wird. |