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

AuthenticationSchemes

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

Im folgenden Beispiel wird die Implementierung der vom Stellvertretung im vorherigen Beispiel aufgerufenen AuthenticationSchemeSelector Methode veranschaulicht.

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

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

Ein AuthenticationSchemeSelector Stellvertretung wird für HttpListenerRequest jede eingehende Anforderung übergeben, die keine Authentifizierungsinformationen bereitgestellt hat. Die vom Stellvertretung aufgerufene Methode verwendet das HttpListenerRequest Objekt und alle anderen verfügbaren Informationen, um zu entscheiden, welches Authentifizierungsschema erforderlich ist. Der Stellvertretung 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