ICredentialPolicy ICredentialPolicy ICredentialPolicy ICredentialPolicy Interface

Définition

Définit la stratégie d'informations d'identification à utiliser pour les demandes de ressources qui sont effectuées à l'aide de WebRequest et de ses classes dérivées.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
Dérivé

Exemples

L’exemple de code suivant illustre une implémentation de cette interface qui autorise les informations d’identification pour être envoyés uniquement pour les requêtes qui ciblent des hôtes spécifiques.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;
    }
}

Remarques

La stratégie d’informations d’identification détermine s’il faut envoyer des informations d’identification lors de l’envoi un WebRequest pour une ressource réseau, tel que le contenu d’une page Web.The credential policy determines whether to send credentials when sending a WebRequest for a network resource, such as the content of a Web page. Si les informations d’identification sont envoyées, les serveurs qui requièrent une authentification du client peuvent tenter d’authentifier le client lorsque la demande est reçue au lieu d’envoyer une réponse qui indique que les informations d’identification du client sont requises.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. Bien que cela permet d’économiser un aller-retour au serveur, ce gain de performances doit être équilibré contre le risque de sécurité inhérent à l’envoi des informations d’identification sur le réseau.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. Lorsque le serveur de destination ne requiert pas l’authentification du client, il est préférable de ne pas envoyer les informations d’identification.When the destination server does not require client authentication, it is best not to send credentials.

Notes

ICredentialPolicy les stratégies sont appelées uniquement si le WebRequest ou le WebProxy qui est associé à la demande possède les informations d’identification qui ne sont pas null.ICredentialPolicy policies are invoked only if the WebRequest or the WebProxy that is associated with the request has credentials that are not null. Définition de cette stratégie n’a aucun effet sur les demandes qui ne spécifient pas d’informations d’identification.Setting this policy has no effect on requests that do not specify credentials.

Utilisez le AuthenticationManager.CredentialPolicy propriété à définir un ICredentialPolicy stratégie.Use the AuthenticationManager.CredentialPolicy property to set an ICredentialPolicy policy. Le IAuthenticationModule qui gère l’authentification pour la demande appellera le ShouldSendCredential méthode avant d’effectuer l’authentification.The IAuthenticationModule that handles authentication for the request will invoke the ShouldSendCredential method before performing the authentication. Si la méthode retourne false, l’authentification n’est pas effectuée.If the method returns false, authentication is not performed.

Un ICredentialPolicy stratégie affecte toutes les instances de WebRequest avec informations d’identification non null dans le domaine d’application actuel.An ICredentialPolicy policy affects all instances of WebRequest with non-null credentials in the current application domain. La stratégie ne peut pas être substituée sur des demandes individuelles.The policy cannot be overridden on individual requests.

Méthodes

ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

Retourne un Boolean indiquant si les informations d'identification du client sont envoyées avec une demande de ressource effectuée à l'aide d'une instance de la classe WebRequest.Returns a Boolean that indicates whether the client's credentials are sent with a resource request made using an instance of the WebRequest class.

S’applique à