Поделиться через


AuthenticationSchemes Перечисление

Определение

Указывает протоколы проверки подлинности.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class AuthenticationSchemes
[System.Flags]
public enum AuthenticationSchemes
[<System.Flags>]
type AuthenticationSchemes = 
Public Enum AuthenticationSchemes
Наследование
AuthenticationSchemes
Атрибуты

Поля

Anonymous 32768

Указывает анонимную проверку подлинности.

Basic 8

Задает обычную проверку подлинности.

Digest 1

Задает дайджест-проверку подлинности.

IntegratedWindowsAuthentication 6

Задает проверку подлинности Windows.

Negotiate 2

Проводит согласование с клиентом для определения схемы проверки подлинности. Если и клиент, и сервер поддерживают Kerberos, используется именно этот протокол; в противном случае используется NTLM.

None 0

Проверка подлинности не разрешена. Клиент, запрашивающий объект HttpListener с установленным приведенным флагом, всегда будет получать состояние 403 "Запрещено". Используйте этот флаг, если ресурс не должен предоставляться клиенту.

Ntlm 4

Указывает проверку подлинности NTLM.

Примеры

В следующем примере кода показано использование значения перечисления Negotiate, чтобы указать, что клиенты проходят проверку подлинности с помощью протокола безопасности 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

Комментарии

Это перечисление используется для указания метода, используемого для проверки подлинности клиентских запросов, обрабатываемых объектами HttpListener .

Важно!

Обычная проверка подлинности требует обмена паролем, поэтому ее следует избегать, за исключением случаев безопасных зашифрованных подключений.

Дополнительные сведения об базовой и дайджест-проверке подлинности см. в разделе RFC2617 — проверка подлинности HTTP: обычная и дайджест-проверка подлинности. Этот документ доступен по адресу https://www.rfc-editor.org.

Применяется к