AuthenticationSchemes Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa protokoły uwierzytelniania.
To wyliczenie obsługuje bitową kombinację jego wartości składowych.
public enum class AuthenticationSchemes
[System.Flags]
public enum AuthenticationSchemes
[<System.Flags>]
type AuthenticationSchemes =
Public Enum AuthenticationSchemes
- Dziedziczenie
- Atrybuty
Pola
Anonymous | 32768 | Określa uwierzytelnianie anonimowe. |
Basic | 8 | Określa uwierzytelnianie podstawowe. |
Digest | 1 | Określa uwierzytelnianie szyfrowe. |
IntegratedWindowsAuthentication | 6 | Określa uwierzytelnianie systemu Windows. |
Negotiate | 2 | Negocjuje z klientem, aby określić schemat uwierzytelniania. Jeśli zarówno klient, jak i serwer obsługują protokół Kerberos, jest używany; w przeciwnym razie jest używany protokół NTLM. |
None | 0 | Uwierzytelnianie nie jest dozwolone. Klient żądający HttpListener obiektu z tym zestawem flag zawsze otrzyma stan 403 Zabronione. Tej flagi należy używać, gdy zasób nigdy nie powinien być obsługiwany dla klienta. |
Ntlm | 4 | Określa uwierzytelnianie NTLM. |
Przykłady
Poniższy przykład kodu przedstawia użycie wartości wyliczania Negotiate w celu określenia, że klienci są uwierzytelniani przy użyciu protokołu zabezpieczeń 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
Uwagi
To wyliczenie służy do określania metody używanej do uwierzytelniania żądań klientów przetwarzanych przez HttpListener obiekty.
Ważne
Uwierzytelnianie podstawowe wymaga wymiany hasła i dlatego należy unikać z wyjątkiem bezpiecznych, zaszyfrowanych połączeń.
Aby uzyskać dodatkowe informacje na temat uwierzytelniania podstawowego i szyfrowego, zobacz RFC2617 — Uwierzytelnianie HTTP: uwierzytelnianie podstawowe i szyfrowe. Ten dokument jest dostępny pod adresem https://www.rfc-editor.org.