3

Windows 認証を使用する MVC4 アプリケーションがあります。私のコンピューター (開発中) とホスト サーバーの両方が IIS 7.5 を実行しており、同じドメイン上にあります。アプリケーションには、NetworkService ID を使用する独自のアプリ プールがあります。アプリケーションでは、Windows 認証のみが有効になっています。

開発中、私は何のセキュリティも持っていませんでした。私はただユーザーの名前を表示していました。これは、複数のユーザーがいる複数のコンピューターから、ローカル IIS とサーバーの IIS で正常に機能しました。

AuthorizeAttribute を追加するとすぐに、Chrome と IE の両方で資格情報の入力を求められます。Fiddler を使用すると、NTLM 認証ヘッダーが送信されていることがわかりますが、明らかに無視されています。資格情報を入力すると、アクセスが許可されます。

これは、サイトをリモートおよびローカル (リモート デスクトップ) で表示しようとすると、ローカルとサーバーの両方で発生します。AuthorizeAttribute をすぐに削除すると、プロンプトが表示されなくなります。

私は多くの検索を行い、いくつかのロングショットを試みましたが、成功しませんでした. 他に何を試す必要がありますか?

ありがとう。

4

2 に答える 2

2

問題は、ブラウザの構成にある可能性があります。ブラウザーは、すべてのサイトが既定で NTLM を使用することを許可しているわけではありません。IE は、イントラネット ゾーン内のサイトに NTLM を使用した認証のみを許可し、Chrome は現在その動作を複製しているようです。

したがって、サイトを機能させるには、Internet Explorer のインターネット オプションに移動し、ドメインをイントラネット サイトに追加します。

于 2013-06-07T00:27:56.030 に答える
1

私の同僚の 1 人がこの問題を解決したのはごく最近のことです。ローカル DNS サフィックスがあることが原因のようです。サフィックスは に似ているためabc.local、ここにあるすべてのマシンは のようにアクセスされますhttp://hostname.abc.local

これは、Internet Explorer (Chrome が設定を取得する元) が Web サイトがLocal Intranetゾーンの一部であると認識せず、その Web サイトを十分に信頼していなかったため、問題でした。

この図の指示に従うと、問題が修正されました。

ここに画像の説明を入力

Require server verification (https:) for all sites in this zoneチェックする必要があるかどうかは、場合によって異なる場合があることに注意してください。

于 2015-06-12T06:15:47.547 に答える