私は、イントラネットとインターネットの両方に展開されている Web サイトに取り組んでいます。2 つの唯一の違いは、いくつかの構成設定です。
インターネット バージョンは、フォーム認証 (Web 構成で定義されている) を使用するだけで問題なく動作し、ログインしていない場合、ユーザーはログイン ページに誘導されます。
イントラネット バージョンは少しトリッキーです... ユーザーが最初にサイトにアクセスしたとき、http コンテキスト プリンシパル オブジェクトは WindowsPrincipal で正しく設定されていますが、その情報を使用して、ユーザーがアプリへのアクセスを許可されていることを確認してから、独自のアプリを作成します。 IPrinciple インスタンス。
これを踏まえて、ここでやりたいことがいくつかあります... ユーザーを認証するための基礎として WindowsPrincipal オブジェクトを使用したいのですが、その時点からフォーム認証を使用します (つまり、Cookie を使用して認証の詳細を保存するなど) )。また、HTTP コンテキストから取得するプリンシパルのインスタンスを IPrinciple タイプにする必要もあります。
これを行うにはどうすればよいですか?のように、global.asax の Session_Start を参照して認証ロジックを実行し、それを何らかの方法でカスタム IPrinciple に格納する必要があります (その時点以降のすべてのリクエストでは、インスタンスがカスタム プリンシパルになります)。 .
乾杯アンソニー