1

弊社のイントラネット用に取り組んでいるaspxサイトがあります。最近、表示するためにユーザーがActiveDirectoryの特定のグループのメンバーである必要がある安全なページをいくつか追加しました。サイトにWindows認証を使用しています(.configにWindows認証があります)。IISではWindows認証が有効になっており、匿名認証は無効になっています。プロジェクトのプロパティでNTLM認証も有効にしました。

私の知る限り、セキュリティは期待どおりに機能しています。適切な資格情報を持つユーザーのみが安全なページにアクセスできます(コントローラーアクションの[Authenticate Roles = "bla"]チェックでユーザーを保護しています)。

私が抱えている問題は実際には問題ではありませんが、もっと厄介です。ユーザーがサイトにログインするたびに、ログインダイアログが表示されます。これは欲しくない。サイトがWindowsログインから資格情報を取得し、それを使用してアクセス権を決定するようにします。Windows認証がそれ自体でこれを処理しているという印象を受けましたが、私は間違っていたようです。

基本的に、ログインプロンプトを取り除き、Windows認証で同じ機能をすべて自動的に処理するにはどうすればよいですか?

変更が必要なサーバー設定はありますか?それは私のコードに何かあるのでしょうか?

可能であれば、少なくともIE、Firefox、Chromeで動作するようにしたいと思います。

***2012年7月23日更新

提案してくれた皆さんに感謝しますが、残念ながら私はまだこれを正しく機能させることができていません。私が気付いたいくつかのことは、いくつかの詳細を提供するのに役立つかもしれません

  • イントラネットサイトが「信頼できる」サイトのリストに含まれていることはかなり確信しています(ネットワーク管理者によると)。

  • NTLM認証とNTLM認証のみを使用しています。NTLM認証を削除し、Negotiate:Kerberos認証を有効にすると、401-Unauthorizedエラーが発生します。カーネルモード認証を無効にすることでこれを修正できますが、それでもクレデンシャルプロンプトが表示されます(これは不要です)。

  • IE>インターネットオプション>詳細設定>セキュリティで[統合Windows認証を有効にする*]をオンにすると、資格情報の入力を求められますが、資格情報の入力が機能しなくなります。3回尋ねられたら、401エラーページに移動します。

  • IE9はパスワードのみを要求し、ユーザー名を取得します(良い)。ChromeとFirefoxは、ユーザー名とパスワードの入力を求めてきます。

4

4 に答える 4

1

Internet Explorer/ツール/オプション/詳細を見てください。

「セキュリティ」の下に「統合 Windows 認証を有効にする」チェックボックスがあります。

これはチェックされていますか?

これはデフォルトでチェックされており、GPO を使用して管理者が設定できます。

http://www.windowsecurity.com/articles/configuring-advanced-ie-settings-using-group-policy.html

于 2012-07-13T15:24:12.703 に答える
0

<system.web>この行は、要素内の web.config にある必要があります。

<authentication mode="Windows" />

于 2012-07-13T16:08:36.530 に答える
0

実際に何が問題を解決したかについて、最新情報を提供したいと思いました。

Internet Explorer の設定について皆さんから提供された素晴らしい提案をすべて試してみましたが、最終的にはサーバーの設定であることが判明しました。

サイトのプロバイダーの順序を NTLM に反転し、その順序でネゴシエートすると問題が解決しました。

于 2012-07-24T20:09:23.723 に答える
0

IE には、この自動パススルーを可能にする設定があります。システム管理者はグループ ポリシーを作成し、これをすべてのユーザーにプッシュできます。

私は Firefox を同じ問題で機能するように構成することにも成功しましたが、それには個々のユーザーの FF 構成を変更する必要があります。

于 2012-07-13T15:24:30.880 に答える