AuthenticationSchemeSelector AuthenticationSchemeSelector AuthenticationSchemeSelector AuthenticationSchemeSelector Delegate

Definition

Wählt das Authentifizierungsschema für eine HttpListener-Instanz aus.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 

Parameter

httpRequest
HttpListenerRequest HttpListenerRequest HttpListenerRequest HttpListenerRequest

Die HttpListenerRequest-Instanz, für die ein Authentifizierungsschema ausgewählt werden soll.The HttpListenerRequest instance for which to select an authentication scheme.

Rückgabewert

System.Net.AuthenticationSchemes

Einer der AuthenticationSchemes-Werte, der das für die angegebene Clientanforderung zu verwendende Authentifizierungsverfahren angibt.One of the AuthenticationSchemes values that indicates the method of authentication to use for the specified client request.

Vererbung
AuthenticationSchemeSelectorAuthenticationSchemeSelectorAuthenticationSchemeSelectorAuthenticationSchemeSelector

Beispiele

Im folgenden Beispiel wird eine Instanz dieses Typs Festlegen der AuthenticationSchemeSelectorDelegate Eigenschaft.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()

Das folgende Beispiel zeigt die Implementierung der Methode aufgerufen, indem die AuthenticationSchemeSelector delegieren, die im vorherigen Beispiel.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

Hinweise

Delegaten dieses Typs werden verwendet, indem HttpListener Instanzen wählen Sie ein anderes Authentifizierungsschema basierend auf den Eigenschaften einer Anforderung.Delegates of this type are used by HttpListener instances to select an authentication scheme based on the characteristics of a request.

Ein AuthenticationSchemeSelector Delegaten übergeben wird ein HttpListenerRequest -Objekt für jede eingehende Anforderung, die nicht die Informationen für die Authentifizierung bereitgestellt wurde.An AuthenticationSchemeSelector delegate is passed an HttpListenerRequest object for each incoming request that has not provided authentication information. Die durch den Delegaten aufgerufene Methode verwendet die HttpListenerRequest Objekt und alle anderen verfügbaren Informationen zu entscheiden, welches Authentifizierungsschema erforderlich ist.The method invoked by the delegate uses the HttpListenerRequest object and any other available information to decide which authentication scheme to require. Der Delegat wird angegeben, mit der AuthenticationSchemeSelectorDelegate Eigenschaft.The delegate is specified by using the AuthenticationSchemeSelectorDelegate property.

Extension Methods

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

Ruft ein Objekt, das die durch den angegebenen Delegaten dargestellte Methode darstellt.Gets an object that represents the method represented by the specified delegate.

Gilt für: