AuthenticationSchemeSelector Délégué

Définition

Sélectionne le schéma d’authentification d’une instance de HttpListener.

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 

Paramètres

httpRequest
HttpListenerRequest

Instance de HttpListenerRequest pour laquelle un schéma d’authentification doit être sélectionné.

Valeur renvoyée

Une des valeurs AuthenticationSchemes qui indique la méthode d’authentification à utiliser pour la demande du client spécifiée.

Exemples

L’exemple suivant utilise une instance de ce type pour définir la AuthenticationSchemeSelectorDelegate propriété .

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

L’exemple suivant montre l’implémentation de la méthode appelée par le AuthenticationSchemeSelector délégué dans l’exemple précédent.

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

Remarques

Les délégués de ce type sont utilisés par HttpListener les instances pour sélectionner un schéma d’authentification en fonction des caractéristiques d’une requête.

Un AuthenticationSchemeSelector délégué se voit transmettre un HttpListenerRequest objet pour chaque requête entrante qui n’a pas fourni d’informations d’authentification. La méthode appelée par le délégué utilise l’objet HttpListenerRequest et toute autre information disponible pour décider du schéma d’authentification à exiger. Le délégué est spécifié à l’aide de la AuthenticationSchemeSelectorDelegate propriété .

Méthodes d’extension

GetMethodInfo(Delegate)

Obtient un objet qui représente la méthode représentée par le délégué spécifié.

S’applique à