ICredentialPolicy ICredentialPolicy ICredentialPolicy ICredentialPolicy Interface

Definition

Definiert die Anmeldeinformationen-Richtlinie, die für mit WebRequest und davon abgeleiteten Klassen durchgeführte Ressourcenanforderungen verwendet werden soll.Defines the credential policy to be used for resource requests that are made using WebRequest and its derived classes.

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

Beispiele

Das folgende Codebeispiel zeigt eine Implementierung dieser Schnittstelle, die Anmeldeinformationen nur für Anforderungen gesendet werden, die auf bestimmte Hosts ausgerichtet zulässt.The following code example shows an implementation of this interface that permits credentials to be sent only for requests that target specific hosts.

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 Anmeldeinformationen-Richtline bestimmt, ob Anmeldeinformationen zu senden, beim Senden einer WebRequest für eine Netzwerkressource, z. B. den Inhalt einer Webseite.The credential policy determines whether to send credentials when sending a WebRequest for a network resource, such as the content of a Web page. Wenn Anmeldeinformationen gesendet werden, können Server, für die Clientauthentifizierung erforderlich versuchen, zum Authentifizieren des Clients, wenn die Anforderung empfangen wird, anstatt das Senden einer Antwort, die angibt, dass die Anmeldeinformationen des Clients erforderlich sind.If credentials are sent, servers that require client authentication can attempt to authenticate the client when the request is received instead of sending a response that indicates that the client's credentials are required. Während dies einen Roundtrip zum Server speichert, muss diese Leistungssteigerung für das Senden von Anmeldeinformationen über das Netzwerk Sicherheitsrisiko ausgeglichen werden.While this saves a round trip to the server, this performance gain must be balanced against the security risk inherent in sending credentials across the network. Wenn der Zielserver keine Clientauthentifizierung erforderlich ist, empfiehlt es sich nicht um die Anmeldeinformationen zu senden.When the destination server does not require client authentication, it is best not to send credentials.

Hinweis

ICredentialPolicy Richtlinien werden nur aufgerufen, wenn die WebRequest oder WebProxy verknüpft hat Sie Anmeldeinformationen, die nicht mit der Anforderung null.ICredentialPolicy policies are invoked only if the WebRequest or the WebProxy that is associated with the request has credentials that are not null. Das Festlegen dieser Richtlinie hat keine Auswirkungen auf Anforderungen, die keine Anmeldeinformationen angeben.Setting this policy has no effect on requests that do not specify credentials.

Verwenden der AuthenticationManager.CredentialPolicy festzulegende Eigenschaft eine ICredentialPolicy Richtlinie.Use the AuthenticationManager.CredentialPolicy property to set an ICredentialPolicy policy. Die IAuthenticationModule , führt die Authentifizierung für die Anforderung Ruft die ShouldSendCredential Methode vor dem Ausführen der Authentifizierung.The IAuthenticationModule that handles authentication for the request will invoke the ShouldSendCredential method before performing the authentication. Wenn die Methode zurückgibt false, wird keine Authentifizierung durchgeführt.If the method returns false, authentication is not performed.

Ein ICredentialPolicy Richtlinie wirkt sich auf alle Instanzen von WebRequest mit nicht-Null-Anmeldeinformationen in der aktuellen Anwendungsdomäne.An ICredentialPolicy policy affects all instances of WebRequest with non-null credentials in the current application domain. Die Richtlinie kann nicht für einzelne Anforderungen überschrieben werden.The policy cannot be overridden on individual requests.

Methoden

ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) 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.Returns a Boolean that indicates whether the client's credentials are sent with a resource request made using an instance of the WebRequest class.

Gilt für: