AuthenticationSchemeSelector Gedelegeerde

Definitie

Selecteert het verificatieschema voor een HttpListener exemplaar.

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 

Parameters

httpRequest
HttpListenerRequest

Het HttpListenerRequest exemplaar waarvoor u een verificatieschema wilt selecteren.

Retourwaarde

Een van de AuthenticationSchemes waarden die de verificatiemethode aangeeft die moet worden gebruikt voor de opgegeven clientaanvraag.

Voorbeelden

In het volgende voorbeeld wordt een exemplaar van dit type gebruikt om de AuthenticationSchemeSelectorDelegate eigenschap in te stellen.

// 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()

In het volgende voorbeeld ziet u de implementatie van de methode die in het vorige voorbeeld door de AuthenticationSchemeSelector gemachtigde is aangeroepen.

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

Opmerkingen

Gemachtigden van dit type worden door HttpListener instanties gebruikt om een verificatieschema te selecteren op basis van de kenmerken van een aanvraag.

Een AuthenticationSchemeSelector gemachtigde wordt een HttpListenerRequest object doorgegeven voor elke binnenkomende aanvraag die geen verificatiegegevens heeft opgegeven. De methode die door de gemachtigde wordt aangeroepen, gebruikt het HttpListenerRequest object en eventuele andere beschikbare informatie om te bepalen welk verificatieschema moet worden vereist. De gemachtigde wordt opgegeven met behulp van de AuthenticationSchemeSelectorDelegate eigenschap.

Extensiemethoden

Name Description
GetMethodInfo(Delegate)

Hiermee haalt u een object op dat de methode vertegenwoordigt die wordt vertegenwoordigd door de opgegeven gemachtigde.

Van toepassing op