IntranetZoneCredentialPolicy.ShouldSendCredential Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Boolean Wert zurück, der angibt, ob die Anmeldeinformationen des Clients mit einer Anforderung für eine Ressource gesendet werden, die verwendet WebRequestwurde.
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
Parameter
- request
- WebRequest
Dies WebRequest stellt die angeforderte Ressource dar.
- credential
- NetworkCredential
Das NetworkCredential wird mit der Anforderung gesendet, wenn diese Methode zurückgegeben truewird.
- authModule
- IAuthenticationModule
Dies IAuthenticationModule führt die Authentifizierung durch, wenn die Authentifizierung erforderlich ist.
Gibt zurück
truewenn sich die angeforderte Ressource in derselben Domäne wie der Client befindet, der die Anforderung vornimmt; andernfalls . false
Implementiert
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, dass IntranetZoneCredentialPolicy Anmeldeinformationen für Anforderungen gesendet werden können, die https (Secure Hypertext Transfer Protocol) mit Standardauthentifizierung verwenden. Bei Verwendung von HTTPS und Standardauthentifizierung wird das Benutzerkennwort verschlüsselt, bevor es über das Netzwerk gesendet wird.
// 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;
}
}
Hinweise
Anwendungen rufen diese Methode nicht direkt auf; sie wird von dem aufgerufen, der für die IAuthenticationModule Durchführung der Authentifizierung mit dem Server verantwortlich ist. Wenn diese Methode zurückgegeben falsewird, authentifiziert der IAuthenticationModule Client nicht auf dem Server.
Diese Methode wird nur für Anforderungen aufgerufen, die Anmeldeinformationen angeben oder ein WebProxy Objekt verwenden, das Anmeldeinformationen angibt.