IIS 6/ASP.NET Windows 認証のチェックリスト?
-
08-06-2019 - |
質問
ASP.NET アプリケーションで、構築中のイントラネット サイトにユーザーを自動的にログインさせるのに問題がありました。グーグルや私が適用した実験に関係なく、IE7 では常にログイン ボックスが表示されます。
Web.config で Windows 認証モードを設定し、匿名アクセスを無効にし、IIS で正しいデフォルト ドメインを構成しましたが、依然としてユーザーにログインを求められ、さらに厄介なことに、ユーザーはドメインも提供する必要があります (ドメイン\ユーザー)、技術者以外の訪問者に問題を引き起こしています。Zeus のパスワード記憶機能に感謝します。
私はネットワーク管理者ではないので、Active Directory に関する何かが正しく設定されていない可能性があります。あるいは、非常に単純な何かを私が見逃しているだけかもしれません。ユーザーを偽装したいのではなく、IPrincipal.Name プロパティがユーザー データベース内の有効なレコードのプロパティと一致することを確認する必要があるだけであることに注意してください。これにより、アプリケーションに対してユーザーが認証されます。
この目的を達成するには、AD、ASP.NET、および IIS がこの方法で連携するためのすべての構成要件のチェックリストを用意しておくと、デバッグの参考になり、できればユーザーの負担を軽減できると非常に役立ちます。
解決
サーバー側の基本はすべてカバーされているようですが、おそらくクライアントの問題でしょうか?ユーザーが IE7 で統合認証を有効にしていると思いますか?([ツール] -> [インターネット オプション] -> [詳細設定] -> [セキュリティ])。これはデフォルトで有効になっています。
また、サイトはローカル イントラネット ゾーンにあるものとして IE7 によって正しく認識されていますか?IE7 のデフォルトでは、そのゾーンでのみ自動ログオンが許可されるため、サイトがインターネット上にあると IE が判断すると、ユーザーにメッセージが表示されます。ドットが含まれるホスト名を使用すると、IE によってサイトがインターネット ゾーンに配置されると思います。
他のヒント
開ける
Active Directory Users and Computers
MMC スナップイン拡大する
computers
からのセクションTreeView
(左側)コンピュータがドメインに登録されているかどうかを確認します。
また、そのコンピュータではドメイン アカウントを使用してログインする必要があります。そうしないと、認証ボックスが表示されます。
IIS では、匿名アクセスを有効にし、web.config がユーザー認証を処理できるようにします。
これが機能しない場合は、web.config のサンプルを送信していただけますか。