ICredentialPolicy Interface

Definição

Define a política de credencial a ser usada para pedidos de recursos feitos usando WebRequest e as suas classes derivadas.

public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
Derivado

Exemplos

O exemplo de código seguinte mostra uma implementação desta interface que permite enviar credenciais apenas para pedidos que visem hosts específicos.

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;
    }
}

Observações

A política de credenciais determina se deve enviar credenciais ao enviar um WebRequest recurso de rede, como o conteúdo de uma página Web. Se as credenciais forem enviadas, os servidores que requerem autenticação do cliente podem tentar autenticar o cliente quando o pedido é recebido, em vez de enviar uma resposta que indique que as credenciais do cliente são necessárias. Embora isto poupe uma viagem de ida e volta ao servidor, este ganho de desempenho deve ser equilibrado com o risco de segurança inerente ao envio de credenciais através da rede. Quando o servidor de destino não requer autenticação do cliente, é melhor não enviar credenciais.

Note

ICredentialPolicy As políticas só são invocadas se o WebRequest ou WebProxy que está associado ao pedido tiver credenciais que não nullsão . Definir esta política não tem efeito em pedidos que não especificam credenciais.

Use a AuthenticationManager.CredentialPolicy propriedade para definir uma ICredentialPolicy apólice. O IAuthenticationModule responsável pela autenticação do pedido irá invocar o ShouldSendCredential método antes de realizar a autenticação. Se o método devolver false, a autenticação não é realizada.

Uma política afeta ICredentialPolicy todas as instâncias de WebRequest com credenciais não nulas no domínio de aplicação atual. A política não pode ser anulada por pedidos individuais.

Métodos

Name Description
ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

Retorna a Boolean que indica se as credenciais do cliente são enviadas com um pedido de recurso feito usando uma instância da WebRequest classe.

Aplica-se a