ICredentialPolicy Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет политику учетных данных, используемую для запросов ресурсов, которые используются WebRequest и их производные классы.
public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
- Производный
Примеры
В следующем примере кода показана реализация этого интерфейса, позволяющего отправлять учетные данные только для запросов, предназначенных для определенных узлов.
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;
}
}
Комментарии
Политика учетных данных определяет, следует ли отправлять учетные данные при отправке WebRequest сетевого ресурса, например содержимого веб-страницы. Если учетные данные отправляются, серверы, требующие проверки подлинности клиента, могут попытаться выполнить проверку подлинности клиента при получении запроса, а не отправлять ответ, указывающий, что необходимы учетные данные клиента. Хотя это экономит круговую поездку на сервер, это повышение производительности должно быть сбалансировано с учетом риска безопасности, присущего отправке учетных данных в сети. Если целевой сервер не требует проверки подлинности клиента, рекомендуется не отправлять учетные данные.
Замечание
ICredentialPolicy политики вызываются только в том случае, если WebRequestWebProxy у запроса есть учетные данные, которые не nullсвязаны с ним. Установка этой политики не влияет на запросы, которые не указывают учетные данные.
AuthenticationManager.CredentialPolicy Используйте свойство для задания ICredentialPolicy политики. При IAuthenticationModule обработке проверки подлинности для запроса метод будет вызываться ShouldSendCredential перед выполнением проверки подлинности. Если метод возвращается false, проверка подлинности не выполняется.
Политика ICredentialPolicy влияет на все экземпляры WebRequest с учетными данными, не имеющими значения NULL в текущем домене приложения. Политика не может быть переопределена для отдельных запросов.
Методы
| Имя | Описание |
|---|---|
| ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule) |
Возвращает значение Boolean , указывающее, отправляются ли учетные данные клиента с запросом ресурса, сделанным с помощью экземпляра WebRequest класса. |