Share via


NTLM 與 Kerberos 驗證

預設 NTLM 驗證和 Kerberos 驗證使用與呼叫端應用程式關聯的 Microsoft Windows 使用者認證,來嘗試向伺服器進行驗證。 使用非預設 NTLM 驗證時,應用程式會將驗證類型設為 NTLM,並使用 NetworkCredential 物件將使用者名稱、密碼和網域傳遞給主機,如下列範例所示。

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...

需要使用應用程式使用者認證來連線至網際網路服務的應用程式,可以利用使用者預設認證這麼做,如下列範例所示。

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...

交涉驗證模組可判斷遠端伺服器使用 NTLM 還是 Kerberos 驗證,並傳送適當的回應。

注意

NTLM 驗證未透過 Proxy 伺服器進行運作。

另請參閱