AuthenticationSchemes Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica los protocolos de autenticación.
Esta enumeración admite una combinación bit a bit de sus valores de miembro.
public enum class AuthenticationSchemes
[System.Flags]
public enum AuthenticationSchemes
[<System.Flags>]
type AuthenticationSchemes =
Public Enum AuthenticationSchemes
- Herencia
- Atributos
Campos
Anonymous | 32768 | Especifica la autenticación anónima. |
Basic | 8 | Especifica la autenticación básica. |
Digest | 1 | Especifica la autenticación implícita. |
IntegratedWindowsAuthentication | 6 | Especifica la autenticación de Windows. |
Negotiate | 2 | Negocia con el cliente para determinar el esquema de autenticación. Si cliente y el servidor son compatibles con Kerberos, se utiliza; de lo contrario, se utiliza NTLM. |
None | 0 | No se permite ninguna autenticación. Un cliente que solicite un objeto HttpListener con este conjunto de marcadores siempre recibe un estado 403 Prohibido. Utilice este marcador si un recurso nunca se debe poner a disposición de un cliente. |
Ntlm | 4 | Especifica la autenticación NTLM. |
Ejemplos
En el ejemplo de código siguiente se muestra el uso del valor de enumeración Negotiate para especificar que los clientes se autentican mediante el protocolo de seguridad Negotiate.
Console.WriteLine("Listening for {0} prefixes...", listener.Prefixes.Count);
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
Console.WriteLine("Received a request.");
// This server requires a valid client certificate
// for requests that are not sent from the local computer.
// Did the client omit the certificate or send an invalid certificate?
if (request.IsAuthenticated &&
request.GetClientCertificate() == null ||
request.ClientCertificateError != 0)
{
// Send a 403 response.
HttpListenerResponse badCertificateResponse = context.Response ;
SendBadCertificateResponse(badCertificateResponse);
Console.WriteLine("Client has invalid certificate.");
continue;
}
Console.WriteLine("Listening for {0} prefixes...", listener.Prefixes.Count)
Dim context As HttpListenerContext = listener.GetContext()
Dim request As HttpListenerRequest = context.Request
Console.WriteLine("Received a request.")
' This server requires a valid client certificate
' for requests that are not sent from the local computer.
' Did the client omit the certificate or send an invalid certificate?
If request.IsAuthenticated AndAlso request.GetClientCertificate() Is Nothing OrElse request.ClientCertificateError <> 0 Then
' Send a 403 response.
Dim badCertificateResponse As HttpListenerResponse = context.Response
SendBadCertificateResponse(badCertificateResponse)
Console.WriteLine("Client has invalid certificate.")
Continue Do
End If
Comentarios
Esta enumeración se usa para especificar el método utilizado para autenticar las solicitudes de cliente que procesan HttpListener los objetos .
Importante
La autenticación básica requiere el intercambio de una contraseña y, por tanto, debe evitarse excepto en el caso de conexiones cifradas seguras.
Para obtener información adicional sobre la autenticación básica y implícita, consulte RFC2617 - Autenticación HTTP: Autenticación básica e implícita. Este documento está disponible en https://www.rfc-editor.org.