ICredentialPolicy Arabirim

Tanım

ve türetilmiş sınıfları kullanılarak WebRequest yapılan kaynak istekleri için kullanılacak kimlik bilgisi ilkesini tanımlar.

public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
Türetilmiş

Örnekler

Aşağıdaki kod örneği, kimlik bilgilerinin yalnızca belirli konakları hedefleyen istekler için gönderilmesine izin veren bu arabirimin uygulamasını gösterir.

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;
    }
}

Açıklamalar

Kimlik bilgisi ilkesi, web sayfasının içeriği gibi bir ağ kaynağı için gönderirken WebRequest kimlik bilgilerinin gönderilip gönderilmeyeceğini belirler. Kimlik bilgileri gönderilirse, istemci kimlik doğrulaması gerektiren sunucular, istemcinin kimlik bilgilerinin gerekli olduğunu belirten bir yanıt göndermek yerine istek alındığında istemcinin kimliğini doğrulamayı dener. Bu, sunucuya gidiş dönüş kaydetmesine rağmen, bu performans kazancının ağ üzerinden kimlik bilgileri gönderirken doğal olarak güvenlik riskine karşı dengelenmiş olması gerekir. Hedef sunucu istemci kimlik doğrulaması gerektirmediğinde, kimlik bilgilerini göndermemek en iyisidir.

Not

ICredentialPolicyilkeleri yalnızca istekle ilişkilendirilmiş olan veya WebProxy kimlik bilgilerine nullsahipse WebRequest çağrılır. Bu ilkenin ayarlanması, kimlik bilgilerini belirtmeyen istekler üzerinde hiçbir etkiye sahip değildir.

AuthenticationManager.CredentialPolicy bir ICredentialPolicy ilke ayarlamak için özelliğini kullanın. IAuthenticationModule İstek için kimlik doğrulamasını işleyen, kimlik doğrulamasını ShouldSendCredential gerçekleştirmeden önce yöntemini çağırır. yöntemi döndürürse false, kimlik doğrulaması gerçekleştirilmez.

İlke ICredentialPolicy , geçerli uygulama etki alanındaki null olmayan kimlik bilgilerine sahip tüm örneklerini WebRequest etkiler. İlke, tek tek isteklerde geçersiz kılınamaz.

Yöntemler

ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

Boolean İstemcinin kimlik bilgilerinin sınıfının bir örneği WebRequest kullanılarak yapılan bir kaynak isteğiyle gönderilip gönderilmediğini gösteren bir döndürür.

Şunlara uygulanır