web-dev-qa-db-ja.com

統合Windows認証がIE=でのみ機能しない

私のサイトには、匿名アクセスを許可しないフォルダーが1つあります。 ADドメイン上と同様に、統合Windows認証を使用するように設定されています。ログインは、Firefox、Chrome、Safariでも正常に機能しますが、IE8では機能しません。誰かが以前にこれに遭遇したことがありますか?もちろん、すべてのブラウザでログインが失敗する場合を除いて、同様の問題を抱えている人を見つけることができません。

7
CoreyT

これはおそらく、どこかで壊れたSPNが原因です。

Microsoft以外のブラウザはKerberosを実行していないと思います(または、少なくとも、IEと同じように)実行しないでください)。

これは、IEがKerberosログオンを試みている可能性があり、他のユーザーがNTLMを使用している可能性があることを意味します。

SPNがhttp/www.example.comまたはHost/www.example.comに存在し、アプリケーションプールを実行するアカウントによって所有されていない場合、これがこの種の中断の正当な理由になります。

Windows 2008以降:SETSPN -Xは重複をチェックします。 SETSPN -Q http/www.example.comは、特定のSPNの所有者を探します。

SPNの問題を修正すれば、おそらくIEログオンが壊れることを修正できます。

他のガイダンスでは、IE詳細プロパティで統合Windows認証を無効にするように指示されている場合があります。これは骨の折れる動きであり、Kerberosをすべて破壊し、問題を隠蔽します。

詳細 ここ

4
TristanK

これはコメントの1つで渡されたときに言及されましたが、他の誰かが有用だと思った場合に備えて、具体的に説明したいと思いました。私も同じ問題を抱えていましたが、アプリプールIDを変更することで解決できました。これは、特定のアプリプールの[詳細設定]にあります。

誰かがこの値を「AppPoolIdentity」に設定しましたが、問題を修正するために「NetworkService」に設定し直す必要がありました。

(画像を投稿しようとしましたが、どうやらもっと評判が必要です。誰かがこの回答に賛成した場合は、画像を追加できます。)

2
Andrew Young

壊れたSPN回答は正しいようです。つまり、Kerberosを正しく設定したい場合は、IT/IS部門に問題を指摘する必要があるかもしれません。

「統合Windows認証を有効にする」ソリューションはお勧めしません。通常のユーザーは、管理者がIEをどのように構成したかによって、変更するためのアクセス権がないものをクリックしてクリックする必要があるためです。

Kerberosの設定がすぐに修正されない場合は、より柔軟な解決策として、IISのアプリに移動し、[認証]をクリックして、Windows認証の行を強調表示します(他のすべてを無効にして有効になっている必要があります)。次に、右側の[プロバイダー...]リンクをクリックします。おそらく「ネゴシエート」と「NTLM」の2つのエントリがあり、ネゴシエートが一番上になります。 NTLMを一番上に移動します。これにより、サイトはNTLMを使用することになりますが、これはセキュリティリスクですが、Kerberosが利用できない場合の唯一のオプションです。

1
James

Chromeはパスワードの入力を一度求め、成功しました。

IEは私のパスワードを3回要求し、401 Unauthorizedを取得しました。

私の問題は、IEとChromeの両方が2つの異なるサーバーの資格情報を要求したことです。資格情報を要求した理由は、おそらくパスワードが原因です。先週変わります。

Chromeはドメインアカウントの入力を求めてきました。 MyDomain\MyUserId

しかし[〜#〜] ie [〜#〜]ThisServerUrl.com\MyUserId(もちろん、そのユーザーがサーバーに存在しないため失敗しましたが、さらに悪いことに-URLはサーバー名とは何の関係もありません-M $何を考えていますか???)

うまくいけば、これは同じ問題を持つ次の貧しい樹液を助けるでしょう。

0
D. Kermott

完全修飾ドメイン名でサイトにアクセスしていますか?たとえば、イントラネットサイトは「イントラネット」からアクセスできる可能性がありますが、IE8は「ドメイン部分」が一致しないため、これがADドメインにあるとは見なしません。 ADドメインが「example.com」である「intranet.example.com」を使用する必要があります。

0
Chris S