同じアプリケーションで ASP.NET フォーム認証と IIS Windows 認証を使用する
ユーザーがフォーム認証を使用してログインできる login.aspx ページがあります。ただし、すべてのユーザーは、サーバー (または Active Directory) に Windows アカウントも持っています。何らかの理由で、すべてのユーザーが最初に Windows 資格情報を使用してログインし、次にメンバーシップ資格情報とフォーム認証を使用してログインする必要があります。Windows 認証を有効にし、IIS で匿名認証を無効にすることでこれを行うことができます。これにより、リクエストが ASP.NET に到着する前に IIS によって拒否され、ユーザーが最初に Windows 認証によって認証されるようになります。
これは、IIS 6.0 およびクラシック モードの IIS 7.0 で機能します。ただし、統合モードでは、Windows 認証とフォーム認証の両方が単一段階の認証プロセスで実行されるため、最初に Windows 認証で認証し、次にフォーム認証で認証することはできません。さらに、フォーム認証はアプリケーション全体で有効になっているため、アプリの一部ではなく別のアプリで有効にする方法がありません。フォーム認証の 302 リダイレクト チャレンジは 401「WWW-Authenticate」と互換性がないため、問題が発生します。 」 Windows 認証で使用されるチャレンジ。フォーム認証は、アプリケーションへの承認されていない要求を常に 302 リダイレクトに変換するため、Windows 認証が破られます。
詳細については、このリンクを参照してください。