いくつかのグリッドと 7 つのコントロールを持つ小さなフォームを含むページがあります。グリッドには補助データが表示されます。全体として、さまざまなイベントを処理する約 320 行のコード ビハインドがあります。このページへのアクセス権を持つ他のすべての役割はそれらすべてを編集できるのに対し、1 つの特定の役割は 7 つのフィールドのうち 3 つのフィールドのみを編集する必要があるという要件があります。
今私の質問に。通常、ロールベースのセキュリティをページ レベルに制限するアプローチを採用しています。.Net でセキュリティを完全に設定できるようになるからです。しかし、この場合、この要件のために例外を作成しようとしています。これは、パターンのない新しい領域です。3 つのコントロールのみにアクセスできるロール用の別のページを作成するために必要なコードの複製の量により、これはオプションではありません。一部のものをユーザー コントロールに入れても、これは不当な量の作業のようです。とりあえず。
私が最初に考えたのは、現在のユーザーがアクセスできない page_load イベントのすべてのコントロールを無効にすることでしたが、それは見苦しく感じました。これを行うより良い方法はありますか?