Sdílet prostřednictvím


ICredentialPolicy Rozhraní

Definice

Definuje zásady přihlašovacích údajů, které se mají použít pro požadavky na prostředky vytvořené pomocí WebRequest a jeho odvozené třídy.

public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
Odvozené

Příklady

Následující příklad kódu ukazuje implementaci tohoto rozhraní, které umožňuje posílání přihlašovacích údajů pouze pro požadavky, které cílí na konkrétní hostitele.

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

Poznámky

Zásady přihlašovacích údajů určují, jestli se mají odesílat přihlašovací údaje při odesílání WebRequest pro síťový prostředek, jako je například obsah webové stránky. Pokud se odešlou přihlašovací údaje, servery, které vyžadují ověření klienta, se můžou pokusit o ověření klienta při přijetí požadavku, místo aby odeslaly odpověď, která označuje, že jsou požadovány přihlašovací údaje klienta. I když se tím ušetří doba odezvy na server, je potřeba tento nárůst výkonu vyvážit s rizikem zabezpečení, které je spojeno s odesíláním přihlašovacích údajů přes síť. Pokud cílový server nevyžaduje ověření klienta, je nejlepší neposílat přihlašovací údaje.

Poznámka

ICredentialPolicy Zásady jsou vyvolány pouze v případě WebRequestWebProxy , že nebo , která je přidružena k požadavku, má přihlašovací údaje, které nejsou null. Nastavení této zásady nemá žádný vliv na požadavky, které nezadávají přihlašovací údaje.

AuthenticationManager.CredentialPolicy K nastavení ICredentialPolicy zásad použijte vlastnost . Metoda IAuthenticationModule , která zpracovává ověřování pro požadavek, před provedením ověřování vyvolá ShouldSendCredential metodu . Pokud metoda vrátí false, ověřování se neprovádí.

Zásada ICredentialPolicy ovlivňuje všechny instance nástroje s přihlašovacími údaji, které WebRequest nejsou null v aktuální doméně aplikace. U jednotlivých požadavků se zásady nedají přepsat.

Metody

ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

Vrátí hodnotu , Boolean která označuje, jestli se přihlašovací údaje klienta odešlou s požadavkem na prostředek provedeným pomocí instance WebRequest třídy .

Platí pro