ASP.NET MVC2 アプリケーションの特定のコントローラーまたはアクションへのアクセスのみを許可または禁止するために、web.config または同様のものを使用することは可能ですか? Authorize 属性を介してという意味ではなく、一部のコントローラーへのアクセスを文字通り完全に禁止するという意味ですか?
私が見ているシナリオは、クライアントに ASP.NET MVC2 サイトがあり、パブリック アクション (および Authorize 属性なし) を持つ 1 つのコントローラーと、Authorize 属性を持つ他のコントローラーが多数あるというものです。このサイトはフォーム認証を使用しているため、ユーザーが非パブリック コントローラーの 1 つにアクセスしようとすると、ログインするように求められます。
クライアントはこれをさらに一歩進めて、イントラネットでは非パブリック コントローラーへのアクセスを許可し、インターネットではパブリック コントローラーのみにアクセスできるようにしたいと考えています。
できれば実際のアプリケーションのコードを変更せずに、これを行うにはどのようなアプローチがありますか? 設定が異なる2つのIISサイト\アプリで可能かもしれないと思いますか? 異なる web.config を持つアプリケーション フォルダーの 2 つのコピーが必要ですか、それとも他のオプションはありますか?