Bagikan melalui


AuthenticationSchemeSelector Delegasikan

Definisi

Memilih skema autentikasi untuk instans 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 

Parameter

httpRequest
HttpListenerRequest

Instans HttpListenerRequest untuk memilih skema autentikasi.

Tampilkan Nilai

Salah AuthenticationSchemes satu nilai yang menunjukkan metode autentikasi yang akan digunakan untuk permintaan klien yang ditentukan.

Contoh

Contoh berikut menggunakan instans jenis ini untuk mengatur AuthenticationSchemeSelectorDelegate properti .

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

Contoh berikut menunjukkan implementasi metode yang dipanggil oleh AuthenticationSchemeSelector delegasi dalam contoh sebelumnya.

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

Keterangan

Delegasi jenis ini digunakan oleh HttpListener instans untuk memilih skema autentikasi berdasarkan karakteristik permintaan.

Delegasi AuthenticationSchemeSelector diteruskan objek HttpListenerRequest untuk setiap permintaan masuk yang belum memberikan informasi autentikasi. Metode yang dipanggil oleh delegasi menggunakan HttpListenerRequest objek dan informasi lain yang tersedia untuk memutuskan skema autentikasi mana yang diperlukan. Delegasi ditentukan dengan menggunakan AuthenticationSchemeSelectorDelegate properti .

Metode Ekstensi

GetMethodInfo(Delegate)

Mendapatkan objek yang mewakili metode yang diwakili oleh delegasi yang ditentukan.

Berlaku untuk