ICredentialPolicy Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar principen för autentiseringsuppgifter som ska användas för resursbegäranden som görs med hjälp av WebRequest och dess härledda klasser.
public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
- Härledda
Exempel
I följande kodexempel visas en implementering av det här gränssnittet som tillåter att autentiseringsuppgifter endast skickas för begäranden som riktar sig till specifika värdar.
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;
}
}
Kommentarer
Principen för autentiseringsuppgifter avgör om autentiseringsuppgifter ska skickas när en WebRequest för en nätverksresurs skickas, till exempel innehållet på en webbsida. Om autentiseringsuppgifter skickas kan servrar som kräver klientautentisering försöka autentisera klienten när begäran tas emot i stället för att skicka ett svar som anger att klientens autentiseringsuppgifter krävs. Även om detta sparar en tur-och-retur-resa till servern, måste den här prestandavinsten balanseras mot den säkerhetsrisk som är förknippad med att skicka autentiseringsuppgifter i nätverket. När målservern inte kräver klientautentisering är det bäst att inte skicka autentiseringsuppgifter.
Note
ICredentialPolicy principer anropas endast om WebRequest eller WebProxy som är associerad med begäran har autentiseringsuppgifter som inte nullär . Inställningen av den här principen påverkar inte begäranden som inte anger autentiseringsuppgifter.
Använd egenskapen AuthenticationManager.CredentialPolicy för att ange en ICredentialPolicy princip. Den IAuthenticationModule som hanterar autentisering för begäran anropar ShouldSendCredential metoden innan autentiseringen utförs. Om metoden returnerar falseutförs inte autentisering.
En ICredentialPolicy princip påverkar alla instanser av WebRequest med autentiseringsuppgifter som inte är null i den aktuella programdomänen. Principen kan inte åsidosättas för enskilda begäranden.
Metoder
| Name | Description |
|---|---|
| ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) |
Returnerar en Boolean som anger om klientens autentiseringsuppgifter skickas med en resursbegäran som görs med hjälp av en instans av WebRequest klassen. |