ICredentialPolicy Интерфейс
В этой статье
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет политику учетных данных, используемую для запросов, создаваемых с помощью WebRequest и соответствующих производных классов.
public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
- Производный
Примеры
В следующем примере кода показана реализация этого интерфейса, которая позволяет отправлять учетные данные только для запросов, предназначенных для конкретных узлов.
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;
}
}
Комментарии
Политика учетных данных определяет, следует ли отправлять учетные данные при отправке WebRequest для сетевого ресурса, например содержимого веб-страницы. При отправке учетных данных серверы, требующие проверки подлинности клиента, могут попытаться проверить подлинность клиента при получении запроса, а не отправлять ответ, указывающий, что учетные данные клиента необходимы. Хотя это позволяет сэкономить круговой путь к серверу, повышение производительности должно быть сбалансировано с риском безопасности, присущим отправке учетных данных по сети. Если целевой сервер не требует проверки подлинности клиента, рекомендуется не отправлять учетные данные.
Примечание
ICredentialPolicy Политики вызываются только в WebRequest том случае, если объект или , связанный WebProxy с запросом, имеет учетные данные, которые не null
являются . Установка этой политики не влияет на запросы, не указывающие учетные данные.
Используйте свойство , AuthenticationManager.CredentialPolicy чтобы задать ICredentialPolicy политику. Объект IAuthenticationModule , обрабатывающий проверку подлинности для запроса, вызывает ShouldSendCredential метод перед выполнением проверки подлинности. Если метод возвращает false
, проверка подлинности не выполняется.
Политика ICredentialPolicy влияет на все экземпляры с учетными данными WebRequest , не имеющими значения NULL, в текущем домене приложения. Политику нельзя переопределить для отдельных запросов.
Методы
Should |
Возвращает объект Boolean, который указывает, отправляются ли учетные данные клиента вместе с запросом ресурса, сделанного с помощью экземпляра класса WebRequest. |
Применяется к
Продукт | Версии |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |