ICredentialPolicy Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 )
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)
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 . |