Teilen über


AuthenticationSchemeSelector Delegat

Definition

Wählt das Authentifizierungsschema für eine HttpListener-Instanz aus.

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 

Parameter

httpRequest
HttpListenerRequest

Die HttpListenerRequest-Instanz, für die ein Authentifizierungsschema ausgewählt werden soll.

Rückgabewert

Einer der AuthenticationSchemes-Werte, der das für die angegebene Clientanforderung zu verwendende Authentifizierungsverfahren angibt.

Beispiele

Im folgenden Beispiel wird eine Instanz dieses Typs verwendet, um die AuthenticationSchemeSelectorDelegate Eigenschaft festzulegen.

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

Das folgende Beispiel zeigt die Implementierung der Methode, die AuthenticationSchemeSelector vom Delegat im vorherigen Beispiel aufgerufen wurde.

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

Hinweise

Delegaten dieses Typs werden von HttpListener Instanzen verwendet, um ein Authentifizierungsschema basierend auf den Merkmalen einer Anforderung auszuwählen.

Einem AuthenticationSchemeSelector Delegaten wird ein HttpListenerRequest Objekt für jede eingehende Anforderung übergeben, die keine Authentifizierungsinformationen bereitgestellt hat. Die vom Delegat aufgerufene Methode verwendet das HttpListenerRequest -Objekt und alle anderen verfügbaren Informationen, um zu entscheiden, welches Authentifizierungsschema erforderlich ist. Der Delegat wird mithilfe der AuthenticationSchemeSelectorDelegate -Eigenschaft angegeben.

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.

Gilt für: