ICredentialPolicy Rozhraní

Definice

Definuje zásady přihlašovacích údajů, které se mají použít pro žádosti o prostředky, které se používají, WebRequest a jejich 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 odesílat přihlašovací údaje 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 síťového prostředku, například obsahu webové stránky. Pokud se odesílají přihlašovací údaje, servery, které vyžadují ověření klienta, se můžou po přijetí žádosti pokusit o ověření klienta místo odeslání odpovědi, která označuje, že jsou požadovány přihlašovací údaje klienta. To sice šetří odezvu serveru, ale toto zvýšení výkonu musí být vyváženo 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 se volají jenom v případě WebRequestWebProxy , že má nebo, které jsou přidružené k požadavku, 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 Pomocí vlastnosti nastavte zásaduICredentialPolicy. Metoda IAuthenticationModule , která zpracovává ověřování pro požadavek, vyvolá metodu ShouldSendCredential před provedením ověřování. Pokud metoda vrátí false, ověřování se neprovádí.

Zásady ICredentialPolicy mají vliv na všechny instance s přihlašovacími údaji, které WebRequest nejsou null v aktuální doméně aplikace. Zásady nelze přepsat u jednotlivých požadavků.

Metody

ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

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

Platí pro