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 伺服器進行運作。