Visual Studio の組み込み Web サーバーを使用している場合、ページ要求を行うたびに、標準のログイン ボックスがポップアップし、資格情報を要求されます。実際に資格情報を入力しても機能しないため、キャンセルを5回押すだけで消えます。
IIS を介して (ローカルまたはテスト サーバーで) アプリケーションを実行すると、問題なく動作します (ログイン ボックスが表示されません)。
誰でもこれを修正する方法を知っていますか、または何が原因であるか考えていますか?
Visual Studio の組み込み Web サーバーを使用している場合、ページ要求を行うたびに、標準のログイン ボックスがポップアップし、資格情報を要求されます。実際に資格情報を入力しても機能しないため、キャンセルを5回押すだけで消えます。
IIS を介して (ローカルまたはテスト サーバーで) アプリケーションを実行すると、問題なく動作します (ログイン ボックスが表示されません)。
誰でもこれを修正する方法を知っていますか、または何が原因であるか考えていますか?
これと同じ問題がありました。ただし、私の解決策は異なり、問題も異なるように見えました。
私は VS 2008 を使用して ASP.NET 2.0 Web アプリケーションに取り組んでいました。組み込みの IIS サーバーですべてが正常に機能していました。このプロジェクトを約 1 週間開いていなかったので、VS で [ブラウザーで表示] を選択すると、Windows のログイン資格情報の入力を求められました。このプロジェクトはこれまでにこれを行ったことがなかったので、少し戸惑いました。すべての web.config 設定を確認したところ、すべて問題ないようでした。私のプロジェクト設定も正しいようでした。ネットワークパスを使用して、ネットワーク上の別の開発ボックスでVSでこの同じプロジェクトを開くことにより、プロジェクトをテストすることにしました。もう一度「ブラウザで表示」を選択すると、うまくいきました。ログオン プロンプトはありません。
これにより、問題は実際の Web プロジェクト自体ではなく、私の開発環境にあることがわかりました。上記のようにすべてのブラウザ設定を確認しましたが、それらは正しかったです。次に、両方の開発ボックスで同じプロジェクト (同じ物理ファイル) を開いている間に、プロジェクトの設定を比較しました。違いに気づきました…
プロパティ ページの [開始オプション] で、Web サーバーはどちらの場合も既定の Web サーバーを使用するように設定されていました。ただし、クレジットを要求するボックスでは、NTLM 認証チェックボックスが選択されていました。これを選択解除すると、問題は解決しました。
同じプロジェクト ファイルを開いていたため、これがどのように可能であったかはわかりません。また、プロジェクトの設定がまったく同じであると想定していました。そして、それが一週間前にうまく機能していたという事実は、私を本当に困惑させました. 問題のあるボックスのVS 2008の問題にそれをチョークしました。これが、この問題に遭遇している可能性のある他の人に役立つことを願っています.
JavaScript アラート ボックスのようなログイン ダイアログを意味していると思いますよね? このダイアログは、IIS から匿名アクセスが無効になっている Web サイトの一部にリクエストを行うと表示されます。ASP.NET 認証とは異なります。
Web サイトの一部を保護していますか? それとも、画像などの外部サイトに対して HTTP リクエストを行っていますか?
キャンセルを複数回押した後にページが正常に見える場合は、画像、css、js などの保護されたファイルへの HTTP 要求のいずれかである必要があります。
ログインダイアログでキャンセルを押したときにリクエストが失敗したかどうかを確認するために、FiddlerまたはFirebugを調べます。
また、IIS で実行されているページのキャッシュ/認証済みセッションをクリアして、実際にそのログイン ダイアログが表示されるかどうかを確認します。
プロジェクトには、vwd.webinfoファイルが必要です。
次の行は、(IISExpress で) デバッグするときの認証を制御します。すべてのダイアログを回避するには、次のように設定します。
<VisualWebDeveloper>
<iisExpressSettings anonymousAuthentication="enabled" windowsAuthentication="disabled" useClassicPipelineMode="false"/>
</VisualWebDeveloper>
windowsAuthentication="enabled"
それでもダイアログが表示される場合は、anonymousAuthentication="enabled"
:-)
これは、ローカルホストが信頼できるサイトになかったため、自動 NTLM 認証を実行しなかったためです...理由はわかりませんが、リストにローカルホストを追加すると修正されました。