IntranetZoneCredentialPolicy.ShouldSendCredential Methode

Definitie

Retourneert een Boolean die aangeeft of de referenties van de client worden verzonden met een aanvraag voor een resource die is gemaakt met behulp van WebRequest.

public:
 virtual bool ShouldSendCredential(Uri ^ challengeUri, System::Net::WebRequest ^ request, System::Net::NetworkCredential ^ credential, System::Net::IAuthenticationModule ^ authModule);
public virtual bool ShouldSendCredential(Uri challengeUri, System.Net.WebRequest request, System.Net.NetworkCredential credential, System.Net.IAuthenticationModule authModule);
abstract member ShouldSendCredential : Uri * System.Net.WebRequest * System.Net.NetworkCredential * System.Net.IAuthenticationModule -> bool
override this.ShouldSendCredential : Uri * System.Net.WebRequest * System.Net.NetworkCredential * System.Net.IAuthenticationModule -> bool
Public Overridable Function ShouldSendCredential (challengeUri As Uri, request As WebRequest, credential As NetworkCredential, authModule As IAuthenticationModule) As Boolean

Parameters

challengeUri
Uri

De Uri aanvraag wordt ontvangen.

request
WebRequest

De WebRequest resource die wordt aangevraagd.

credential
NetworkCredential

De NetworkCredential die wordt verzonden met de aanvraag als deze methode retourneert true.

authModule
IAuthenticationModule

De IAuthenticationModule verificatie wordt uitgevoerd als verificatie is vereist.

Retouren

true als de aangevraagde resource zich in hetzelfde domein bevindt als de client die de aanvraag indient; anders, false.

Implementeringen

Voorbeelden

In het volgende codevoorbeeld ziet u hoe IntranetZoneCredentialPolicy referenties kunnen worden verzonden voor aanvragen die gebruikmaken van Secure Hypertext Transfer Protocol (HTTPS) met basisverificatie. Met HTTPS en basisverificatie wordt het gebruikerswachtwoord versleuteld voordat het via het netwerk wordt verzonden.

// The following class allows credentials to be sent if they are for requests for resources
// in the same domain, or if the request uses the HTTPSscheme and basic authentication is 
// required.
public ref class HttpsBasicCredentialPolicy: public IntranetZoneCredentialPolicy
{
public:
   HttpsBasicCredentialPolicy(){}

   virtual bool ShouldSendCredential( Uri^ challengeUri, WebRequest^ request, NetworkCredential^ credential, IAuthenticationModule^ authModule ) override
   {
      Console::WriteLine( L"Checking custom credential policy for HTTPS and basic." );
      bool answer = IntranetZoneCredentialPolicy::ShouldSendCredential( challengeUri, request, credential, authModule );
      if ( answer )
      {
         Console::WriteLine( L"Sending credential for intranet resource." );
         return answer;
      }

      // Determine whether the base implementation returned false for basic and HTTPS.
      if ( request->RequestUri->Scheme == Uri::UriSchemeHttps && authModule->AuthenticationType->Equals( L"Basic" ) )
      {
         Console::WriteLine( L"Sending credential for HTTPS and basic." );
         return true;
      }

      return false;
   }
};
// The following class allows credentials to be sent if they are for requests for resources
// in the same domain, or if the request uses the HTTPSscheme and basic authentication is
// required.

       public class HttpsBasicCredentialPolicy: IntranetZoneCredentialPolicy
    {
        public HttpsBasicCredentialPolicy()
        {
        }

        public override bool ShouldSendCredential(Uri challengeUri,
            WebRequest request,
            NetworkCredential credential,
            IAuthenticationModule authModule)
        {
            Console.WriteLine("Checking custom credential policy for HTTPS and basic.");
            bool answer = base.ShouldSendCredential(challengeUri, request, credential, authModule);

            if (answer )
            {
                Console.WriteLine("Sending credential for intranet resource.");
                return answer;
            }
            // Determine whether the base implementation returned false for basic and HTTPS.
            if (request.RequestUri.Scheme == Uri.UriSchemeHttps &&
                authModule.AuthenticationType == "Basic")
            {
                Console.WriteLine("Sending credential for HTTPS and basic.");
                return true;
            }
            return false;
        }
    }

Opmerkingen

Toepassingen roepen deze methode niet rechtstreeks aan; het wordt aangeroepen door de die verantwoordelijk is voor het IAuthenticationModule uitvoeren van verificatie met de server. Als deze methode wordt geretourneerd false, IAuthenticationModule wordt de client niet geverifieerd bij de server.

Deze methode wordt alleen aangeroepen voor aanvragen die referenties opgeven of een WebProxy object gebruiken dat referenties opgeeft.

Van toepassing op