Esta documentación está archivada y no tiene mantenimiento.

HttpListener.UnsafeConnectionNtlmAuthentication (Propiedad)

Obtiene o establece un valor Boolean que controla si, cuando se utiliza NTLM, se requieren solicitudes adicionales que utilicen la misma conexión del protocolo TCP (Protocolo de control de transporte) para la autenticación.

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

public bool UnsafeConnectionNtlmAuthentication { get; set; }
/** @property */
public boolean get_UnsafeConnectionNtlmAuthentication ()

/** @property */
public void set_UnsafeConnectionNtlmAuthentication (boolean value)

public function get UnsafeConnectionNtlmAuthentication () : boolean

public function set UnsafeConnectionNtlmAuthentication (value : boolean)

No aplicable.

Valor de propiedad

Es true si el objeto IIdentity de la primera solicitud debe utilizarse para las solicitudes posteriores de la misma conexión; de lo contrario, es false. El valor predeterminado es false.

Tipo de excepciónCondición

ObjectDisposedException

Este objeto se ha cerrado.

Si esta propiedad se establece en true y la primera solicitud realizada en una conexión TCP determinada se autentica utilizando NTLM, las solicitudes posteriores de la misma conexión TCP se procesarán utilizando la información de autenticación (IIdentity) de la solicitud inicial.

Esta propiedad no tiene ningún efecto si el protocolo de autenticación no es NTLM. Si se especifica Negotiate como protocolo de autenticación, esta propiedad sólo tiene efecto si NTLM es el protocolo utilizado para la autenticación.

NotaNota:

Aunque establecer esta propiedad en true aumenta el rendimiento, porque HttpListener no envía desafíos de autenticación NTLM adicionales, al no exigir a todas las solicitudes que proporcionen información de autenticación, implica un riesgo para la seguridad. Estudie si el aumento de rendimiento compensa este riesgo.

En el ejemplo de código siguiente se muestra la forma de configurar esta propiedad.

public static void SimpleListenerWithUnsafeAuthentication(string[] prefixes)
{
    // URI prefixes are required,
    // for example "http://contoso.com:8080/index/".
    if (prefixes == null || prefixes.Length == 0)
      throw new ArgumentException("prefixes");
    // Set up a listener.
    HttpListener listener = new HttpListener();
    foreach (string s in prefixes)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    // Specify Negotiate as the authentication scheme.
    listener.AuthenticationSchemes = AuthenticationSchemes.Negotiate;
    // If NTLM is used, we will allow multiple requests on the same
    // connection to use the authentication information of first request.
    // This improves performance but does reduce the security of your 
    // application. 
    listener.UnsafeConnectionNtlmAuthentication = true;
    // This listener does not want to receive exceptions 
    // that occur when sending the response to the client.
    listener.IgnoreWriteExceptions = true;
    Console.WriteLine("Listening...");
    // ... process requests here.

    listener.Close();
}

public static void SimpleListenerWithUnsafeAuthentication(String prefixes[])
{
    // URI prefixes are required,
    // for example "http://contoso.com:8080/index/".
    if (prefixes == null || prefixes.get_Length() == 0) {
        throw new ArgumentException("prefixes");
    }
    // Set up a listener.
    HttpListener listener = new HttpListener();
    for (int iCtr = 0; iCtr < prefixes.get_Length(); iCtr++) {
        String s = prefixes[iCtr];
        listener.get_Prefixes().Add(s);
    }
    listener.Start();
    // Specify Negotiate as the authentication scheme.
    listener.set_AuthenticationSchemes(AuthenticationSchemes.Negotiate);
    // If NTLM is used, we will allow multiple requests on the same
    // connection to use the authentication information of first request.
    // This improves performance but does reduce the security of your 
    // application. 
    listener.set_UnsafeConnectionNtlmAuthentication(true);
    // This listener does not want to recieve exceptions 
    // that occur when sending the response to the client.
    listener.set_IgnoreWriteExceptions(true);
    Console.WriteLine("Listening...");
    // ... process requests here.
    listener.Close();
} //SimpleListenerWithUnsafeAuthentication

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: