Evaluar y enviar comentarios
MSDN
MSDN Library
System.Net
 AuthenticationSchemeSelectorDelegat...
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
HttpListener.AuthenticationSchemeSelectorDelegate (Propiedad)

Nota: esta propiedad es nueva en la versión 2.0 de .NET Framework.

Obtiene o establece el delegado al que se llama para determinar el protocolo utilizado para autenticar los clientes.

Espacio de nombres: System.Net
Ensamblado: System (en system.dll)

Visual Basic (Declaración)
Public Property AuthenticationSchemeSelectorDelegate As AuthenticationSchemeSelector
Visual Basic (Uso)
Dim instance As HttpListener
Dim value As AuthenticationSchemeSelector

value = instance.AuthenticationSchemeSelectorDelegate

instance.AuthenticationSchemeSelectorDelegate = value
C#
public AuthenticationSchemeSelector AuthenticationSchemeSelectorDelegate { get; set; }
C++
public:
property AuthenticationSchemeSelector^ AuthenticationSchemeSelectorDelegate {
    AuthenticationSchemeSelector^ get ();
    void set (AuthenticationSchemeSelector^ value);
}
J#
/** @property */
public AuthenticationSchemeSelector get_AuthenticationSchemeSelectorDelegate ()

/** @property */
public void set_AuthenticationSchemeSelectorDelegate (AuthenticationSchemeSelector value)
JScript
public function get AuthenticationSchemeSelectorDelegate () : AuthenticationSchemeSelector

public function set AuthenticationSchemeSelectorDelegate (value : AuthenticationSchemeSelector)

Valor de propiedad

Un delegado AuthenticationSchemeSelector que invoca el método utilizado para seleccionar un protocolo de autenticación. El valor predeterminado es referencia de objeto null (Nothing en Visual Basic).
Tipo de excepciónCondición

ObjectDisposedException

Este objeto se ha cerrado.

NotaNota

Si desea que todas las solicitudes controladas por una instancia determinada de HttpListener utilicen el mismo protocolo de autenticación, no necesita establecer esta propiedad. Para especificar el protocolo que se utilizará para todas las solicitudes de cliente, utilice la propiedad AuthenticationSchemes.

Si el cliente no ha especificado información de autenticación en sus encabezados, HttpListener llama al delegado especificado para cada solicitud de entrada no autenticada a fin de determinar qué protocolo, si se utiliza uno, debe utilizarse para autenticar el cliente. Los métodos GetContext y EndGetContext sólo devuelven una solicitud de cliente de entrada si HttpListener autentica correctamente la solicitud. Si no se puede autenticar una solicitud, HttpListener devuelve automáticamente una respuesta 401. Puede obtener la identidad de un cliente autenticado correctamente mediante la propiedad System.Net.HttpListenerRequest.LogonUserIdentity.

La capacidad para delegar la elección del protocolo de autenticación a un método específico de la aplicación es útil si desea que una instancia de HttpListener utilice protocolos de autenticación diferentes en función de las características de las solicitudes que recibe (por ejemplo, la propiedad Url o UserHostAddress de la solicitud).

NotaNota

Para establecer esta propiedad para habilitar Digest, NTLM o Negotiate se requiere SecurityPermission, ControlPrincipal.

En el ejemplo de código siguiente se establece el valor de esta propiedad.

C#
// Set up a listener.
HttpListener listener = new HttpListener();
HttpListenerPrefixCollection prefixes = listener.Prefixes;
prefixes.Add(@"http://localhost:8080/");
prefixes.Add(@"http://contoso.com:8080/");

// Specify the authentication delegate.
listener.AuthenticationSchemeSelectorDelegate = 
    new AuthenticationSchemeSelector (AuthenticationSchemeForClient);

// Start listening for requests and process them 
// synchronously.
listener.Start();

En el ejemplo de código siguiente se proporciona una implementación de un método invocado por un delegado AuthenticationSchemeSelector.

C#
static AuthenticationSchemes AuthenticationSchemeForClient(HttpListenerRequest request)
{
    Console.WriteLine("Client authentication protocol selection in progress...");
    // Do not authenticate local machine requests.
    if (request.RemoteEndPoint.Address.Equals (IPAddress.Loopback))
    {
        return AuthenticationSchemes.None;
    }
    else
    {
        return AuthenticationSchemes.IntegratedWindowsAuthentication;
    }
}

Windows 98, Windows Server 2003, Windows XP Media Center, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker