既定の 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 認証はプロキシ サーバー経由では機能しません。
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET