Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método IntranetZoneCredentialPolicy.ShouldSendCredential (Uri, WebRequest, NetworkCredential, IAuthenticationModule)

 

Publicado: octubre de 2016

Devuelve un Boolean que indica si las credenciales del cliente se envían con una solicitud para un recurso que se realizó utilizando WebRequest.

Espacio de nombres:   Microsoft.Win32
Ensamblado:  System (en System.dll)

public virtual bool ShouldSendCredential(
	Uri challengeUri,
	WebRequest request,
	NetworkCredential credential,
	IAuthenticationModule authModule
)

Parámetros

challengeUri
Type: System.Uri

El Uri que recibirá la solicitud.

request
Type: System.Net.WebRequest

El WebRequest que representa el recurso solicitado.

credential
Type: System.Net.NetworkCredential

El NetworkCredential que se enviará con la solicitud si este método devuelve true.

authModule
Type: System.Net.IAuthenticationModule

El IAuthenticationModule que llevará a cabo la autenticación, si se requiere autenticación.

Valor devuelto

Type: System.Boolean

true Si el recurso solicitado está en el mismo dominio que el cliente que realiza la solicitud; de lo contrario, false.

Las aplicaciones no llame a este método directamente. lo llama el IAuthenticationModule que es responsable de realizar la autenticación con el servidor. Si este método devuelve false, la IAuthenticationModule no se autenticará al cliente en el servidor.

Este método se llama sólo para las solicitudes que especifiquen credenciales o utilicen un WebProxy objeto que especifica las credenciales.

En el ejemplo de código siguiente se muestra cómo derivar de IntranetZoneCredentialPolicy para permitir que las credenciales que se enviarán para las solicitudes que utilizan el protocolo de transferencia de hipertexto seguro (HTTPS) con autenticación básica. Usar HTTPS y la autenticación básica, la contraseña del usuario se cifra antes de enviarse a través de la red.

// The following class allows credentials to be sent if they are for requests for resources
// in the same domain, or if the request uses the HTTPSscheme and basic authentication is 
// required.

       public class HttpsBasicCredentialPolicy: IntranetZoneCredentialPolicy
    {
        public HttpsBasicCredentialPolicy()
        {
        }

        public override bool ShouldSendCredential(Uri challengeUri, 
            WebRequest request, 
            NetworkCredential credential, 
            IAuthenticationModule authModule)
        {
            Console.WriteLine("Checking custom credential policy for HTTPS and basic.");
            bool answer = base.ShouldSendCredential(challengeUri, request, credential, authModule);

            if (answer == true)
            {
                Console.WriteLine("Sending credential for intranet resource.");
                return answer;
            }
            // Determine whether the base implementation returned false for basic and HTTPS.
            if (request.RequestUri.Scheme == Uri.UriSchemeHttps &&
                authModule.AuthenticationType == "Basic")
            {
                Console.WriteLine("Sending credential for HTTPS and basic.");
                return true;
            }
            return false;
        }
    }

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: