Freigeben über


ICredentialPolicy Schnittstelle

Definition

Definiert die Anmeldeinformationsrichtlinie, die für Ressourcenanforderungen verwendet werden soll, die verwendet WebRequest werden, und deren abgeleitete Klassen.

public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
Abgeleitet

Beispiele

Das folgende Codebeispiel zeigt eine Implementierung dieser Schnittstelle, mit der Anmeldeinformationen nur für Anforderungen gesendet werden können, die auf bestimmte Hosts abzielen.

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)
            return true;

        return false;
    }
}

Hinweise

Die Anmeldeinformationsrichtlinie bestimmt, ob Anmeldeinformationen gesendet werden sollen, wenn eine WebRequest Netzwerkressource gesendet wird, z. B. den Inhalt einer Webseite. Wenn Anmeldeinformationen gesendet werden, können Server, die eine 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 dadurch ein Roundtrip zum Server gespeichert wird, muss dieser Leistungsgewinn auf das Sicherheitsrisiko abgeglichen werden, das dem Senden von Anmeldeinformationen über das Netzwerk inhärent ist. Wenn der Zielserver keine Clientauthentifizierung erfordert, ist es am besten, keine Anmeldeinformationen zu senden.

Hinweis

ICredentialPolicy Richtlinien werden nur aufgerufen, wenn die WebRequest oder die der WebProxy 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 ShouldSendCredential dem Ausführen der Authentifizierung aufgerufen. Wenn die Methode zurückgegeben wird false, wird die Authentifizierung nicht ausgeführt.

Eine ICredentialPolicy Richtlinie wirkt sich auf alle Instanzen von WebRequest Nicht-NULL-Anmeldeinformationen in der aktuellen Anwendungsdomäne aus. Die Richtlinie kann für einzelne Anforderungen nicht außer Kraft gesetzt werden.

Methoden

Name Beschreibung
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 vorgenommen wurde.

Gilt für: