AuthenticationSchemeSelector Delegat
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |