AuthenticationSchemeSelector Делегат

Определение

Выбирает схему проверки подлинности для экземпляра HttpListener.Selects the authentication scheme for an HttpListener instance.

public delegate System::Net::AuthenticationSchemes AuthenticationSchemeSelector(HttpListenerRequest ^ httpRequest);
public delegate System.Net.AuthenticationSchemes AuthenticationSchemeSelector(HttpListenerRequest httpRequest);
type AuthenticationSchemeSelector = delegate of HttpListenerRequest -> AuthenticationSchemes
Public Delegate Function AuthenticationSchemeSelector(httpRequest As HttpListenerRequest) As AuthenticationSchemes 

Параметры

httpRequest
HttpListenerRequest

Экземпляр HttpListenerRequest, для которого следует выбрать схему проверки подлинности.The HttpListenerRequest instance for which to select an authentication scheme.

Возвращаемое значение

AuthenticationSchemes

Одно из значений AuthenticationSchemes, указывающее метод проверки подлинности, который будет использоваться с определенным клиентским запросом.One of the AuthenticationSchemes values that indicates the method of authentication to use for the specified client request.

Наследование
AuthenticationSchemeSelector

Примеры

В следующем примере экземпляр этого типа используется для задания AuthenticationSchemeSelectorDelegate свойства.The following example uses an instance of this type to set the AuthenticationSchemeSelectorDelegate property.

// Set up a listener.
HttpListener listener = new HttpListener();
HttpListenerPrefixCollection prefixes = listener.Prefixes;
prefixes.Add(@"http://localhost:8080/");
prefixes.Add(@"http://contoso.com:8080/");

// Specify the authentication delegate.
listener.AuthenticationSchemeSelectorDelegate = 
    new AuthenticationSchemeSelector (AuthenticationSchemeForClient);

// Start listening for requests and process them 
// synchronously.
listener.Start();
' Set up a listener.
Dim listener As New HttpListener()
Dim prefixes As HttpListenerPrefixCollection = listener.Prefixes
prefixes.Add("http://localhost:8080/")
prefixes.Add("http://contoso.com:8080/")

' Specify the authentication delegate.
listener.AuthenticationSchemeSelectorDelegate = New AuthenticationSchemeSelector(AddressOf AuthenticationSchemeForClient)

' Start listening for requests and process them 
' synchronously.
listener.Start()

В следующем примере показана реализация метода, вызываемого AuthenticationSchemeSelector делегатом в предыдущем примере.The following example shows the implementation of the method invoked by the AuthenticationSchemeSelector delegate in the previous example.

static AuthenticationSchemes AuthenticationSchemeForClient(HttpListenerRequest request)
{
    Console.WriteLine("Client authentication protocol selection in progress...");
    // Do not authenticate local machine requests.
    if (request.RemoteEndPoint.Address.Equals (IPAddress.Loopback))
    {
        return AuthenticationSchemes.None;
    }
    else
    {
        return AuthenticationSchemes.IntegratedWindowsAuthentication;
    }
}
Private Shared Function AuthenticationSchemeForClient(ByVal request As HttpListenerRequest) As AuthenticationSchemes
    Console.WriteLine("Client authentication protocol selection in progress...")
    ' Do not authenticate local machine requests.
    If request.RemoteEndPoint.Address.Equals(IPAddress.Loopback) Then
        Return AuthenticationSchemes.None
    Else
        Return AuthenticationSchemes.IntegratedWindowsAuthentication
    End If
End Function

Комментарии

Делегаты этого типа используются HttpListener экземплярами для выбора схемы проверки подлинности на основе характеристик запроса.Delegates of this type are used by HttpListener instances to select an authentication scheme based on the characteristics of a request.

Делегату передается объект для каждого входящего запроса, который не предоставил сведений для проверки подлинности. HttpListenerRequest AuthenticationSchemeSelectorAn AuthenticationSchemeSelector delegate is passed an HttpListenerRequest object for each incoming request that has not provided authentication information. Метод, вызываемый делегатом, использует HttpListenerRequest объект и любые другие доступные сведения, чтобы решить, какая схема проверки подлинности требуется.The method invoked by the delegate uses the HttpListenerRequest object and any other available information to decide which authentication scheme to require. Делегат указывается с помощью AuthenticationSchemeSelectorDelegate свойства.The delegate is specified by using the AuthenticationSchemeSelectorDelegate property.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.Gets an object that represents the method represented by the specified delegate.

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