AuthenticationSchemes Enumerazione

Definizione

Specifica i protocolli per l'autenticazione.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

public enum class AuthenticationSchemes
[System.Flags]
public enum AuthenticationSchemes
[<System.Flags>]
type AuthenticationSchemes = 
Public Enum AuthenticationSchemes
Ereditarietà
AuthenticationSchemes
Attributi

Campi

Anonymous 32768

Specifica l'autenticazione anonima.

Basic 8

Specifica l'autenticazione di base.

Digest 1

Specifica l'autenticazione digest.

IntegratedWindowsAuthentication 6

Specifica l'autenticazione Windows.

Negotiate 2

Negozia con il client per determinare lo schema di autenticazione. Viene usato se il client e il server supportano entrambi Kerberos; in caso contrario, viene usato NTLM.

None 0

Non è consentita alcuna autenticazione. Un client che richiede un oggetto HttpListener con questo flag impostato, riceve sempre uno stato 403 Forbidden. Utilizzare questo flag quando una risorsa non deve essere inviata a un client.

Ntlm 4

Specifica l'autenticazione NTLM.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del valore di enumerazione Negotiate per specificare che i client vengono autenticati usando il protocollo di sicurezza Negozia.

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

Commenti

Questa enumerazione viene usata per specificare il metodo usato per autenticare le richieste client elaborate dagli HttpListener oggetti.

Importante

L'autenticazione di base richiede lo scambio di una password e deve pertanto essere evitato tranne nel caso di connessioni sicure e crittografate.

Per altre informazioni sull'autenticazione di base e digest, vedere RFC2617 - Autenticazione HTTP: Autenticazione basic e digest. Questo documento è disponibile all'indirizzo https://www.rfc-editor.org.

Si applica a