Freigeben über


NTLM- und Kerberos-Authentifizierung

Standardmäßige NTLM-Authentifizierung und Kerberos-Authentifizierung verwenden die Microsoft Windows-Benutzeranmeldeinformationen, die der aufrufenden Anwendung zugeordnet sind, um die Authentifizierung mit dem Server zu versuchen. Bei Verwendung der nicht standardmäßigen NTLM-Authentifizierung legt die Anwendung den Authentifizierungstyp auf NTLM fest und verwendet ein NetworkCredential Objekt, um den Benutzernamen, das Kennwort und die Domäne an den Host zu übergeben, wie im folgenden Beispiel gezeigt.

Dim myUri As String = "http://www.contoso.com/"  
Using handler As New HttpClientHandler()
    With handler
        .Credentials = New NetworkCredential(UserName, SecurelyStoredPassword, Domain)
    End With
    Using client As New HttpClient(handler)
        Dim result As String = Await client.GetStringAsync(myUri)
        ' Do Other Stuff...
    End Using
End Using
string myUri = "http://www.contoso.com/";
using HttpClientHandler handler = new()
{
    Credentials = new NetworkCredential(UserName, SecurelyStoredPassword, Domain),
};
using HttpClient client = new(handler);
string result = await client.GetStringAsync(myUri);
// Do Other Stuff...

Anwendungen, die mithilfe der Anmeldeinformationen des Anwendungsbenutzers eine Verbindung mit Internetdiensten herstellen müssen, können dies mit den Standardanmeldeinformationen des Benutzers tun, wie im folgenden Beispiel gezeigt.

Dim myUri As String = "http://www.contoso.com/"  
Using handler As New HttpClientHandler()
    With handler
        .Credentials = CredentialCache.DefaultCredentials
    End With
    Using client As New HttpClient(handler)
        Dim result As String = Await client.GetStringAsync(myUri)
        ' Do Other Stuff...
    End Using
End Using 
string myUri = "http://www.contoso.com/";
using HttpClientHandler handler = new()
{
    Credentials = CredentialCache.DefaultCredentials,
};
using HttpClient client = new(handler);
string result = await client.GetStringAsync(myUri);
// Do Other Stuff...

Das Aushandlungsauthentifizierungsmodul bestimmt, ob der Remoteserver NTLM- oder Kerberos-Authentifizierung verwendet, und sendet die entsprechende Antwort.

Hinweis

Die NTLM-Authentifizierung funktioniert nicht über einen Proxyserver.

Siehe auch