Aracılığıyla paylaş


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 WebRequest ağ kaynağı için gönderirken 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 karşın, bu performans kazancının ağ üzerinden kimlik bilgileri göndermenin doğası gereği güvenlik riskiyle dengelenmiş olması gerekir. Hedef sunucu istemci kimlik doğrulaması gerektirmediğinde, kimlik bilgilerini göndermemek en iyisidir.

Not

ICredentialPolicyilkeler yalnızca istekle ilişkili veya WebProxy kimlik bilgilerine nullsahipse WebRequest çağrılır. Bu ilkenin ayarlanması, kimlik bilgilerini belirtmeyen istekler üzerinde hiçbir etkisi olmaz.

İlke AuthenticationManager.CredentialPolicy ayarlamak ICredentialPolicy 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 falsekimlik 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