IntranetZoneCredentialPolicy.ShouldSendCredential Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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.