ブラウザはプロキシ アカウントを記憶しています。.NET クライアントは CredentialCache.DefaultCredentials を使い、期待した再試行なしに 407 を受け取ります。この 2 つの事実は両立します。

DefaultCredentials は、サポートされる統合認証における現在のセキュリティ コンテキストを表します。Microsoft は NTLM、Negotiate、Kerberos への適用を文書化しています。これはブラウザに保存されたログインからユーザー名と平文パスワードを引き出す要求ではありません。

プロキシが Basic を提供し、別のアカウントを要求する場合は、クライアントがサポートする プロキシ資格情報のインターフェイス を通じてそのアカウントを構成します。明示的な NetworkCredential と現在の Windows セキュリティ コンテキストは別の入力です。

パスワードを変更する前に、通知されたチャレンジを確認します。アプリケーションを実行しているユーザー コンテキストも確認します。デスクトップの実行ファイルとサービスは、同じコンピューターで起動しても異なる ID を持つことがあります。

アカウントを宛先の資格情報プロパティにもコピーする理由はありません。中間者のログインは中間者のもとに置きます。有用な診断では 3 つを特定します。選択したプロキシ、それが要求するスキーム、アプリケーションが実際に提供した資格情報の種類です。

関連記事