IntranetZoneCredentialPolicy.ShouldSendCredential Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Boolean İstemci kimlik bilgilerinin kullanılarak WebRequestyapılan bir kaynak isteğiyle gönderilip gönderilmediğini gösteren bir döndürür.
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
Parametreler
- request
- WebRequest
WebRequest İstenen kaynağı temsil eden.
- credential
- NetworkCredential
NetworkCredential Bu yöntem döndürürse true
istekle birlikte gönderilecek olan.
- authModule
- IAuthenticationModule
Kimlik IAuthenticationModule doğrulaması gerekiyorsa, kimlik doğrulamasını yürütecek olan.
Döndürülenler
true
İstenen kaynak, isteği yapan istemciyle aynı etki alanındaysa; aksi takdirde , false
.
Uygulamalar
Örnekler
Aşağıdaki kod örneği, temel kimlik doğrulaması ile Güvenli Köprü Metni Aktarım Protokolü (HTTPS) kullanan istekler için kimlik bilgilerinin gönderilmesine izin vermek için 'den IntranetZoneCredentialPolicy türetme işlemini gösterir. HTTPS ve temel kimlik doğrulaması kullanılarak kullanıcı parolası ağ üzerinden gönderilmeden önce şifrelenir.
// 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 == true )
{
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 == true)
{
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;
}
}
Açıklamalar
Uygulamalar bu yöntemi doğrudan çağırmaz; sunucuyla kimlik doğrulaması gerçekleştirmekle sorumlu olan tarafından IAuthenticationModule çağrılır. Bu yöntem döndürürse false
, IAuthenticationModule istemcinin kimliğini sunucuda doğrulamaz.
Bu yöntem yalnızca kimlik bilgilerini belirten veya kimlik bilgilerini belirten bir WebProxy nesne kullanan istekler için çağrılır.