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 認証を使用しているかを確認し、適切な応答を送信します。
Note
NTLM 認証は、プロキシ サーバー経由では機能しません。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET