Authorization 属性を使用して、コントローラー アクションで簡単に承認を行うことができます。しかし、Authorization 属性を使用するのと同じくらい簡単にビューをレンダリングするにはどうすればよいでしょうか?
たとえば、メニューがあり、ユーザーが特定のメニューを許可されていない場合、それらのメニュー項目を非表示にするにはどうすればよいでしょうか?
追加/編集/削除リンクを含むテーブルをレンダリングするページがあるとします。これらのリンクに対応するコントローラー アクションがあるため、権限のないユーザーはそれらのアクションを実行できません。しかし、私はそれらを完全に隠してさらに進めたいと思います。
私が今持っているのは、ビュー内のユーザー権限をチェックする混乱のスパゲッティです - <% if (user.hasPermission(..) { %> ... <% } %> の束全体。手に負えません。
この混乱を軽減するためにどのような戦略がありますか? 確かに、このジレンマに陥ったのは私が初めてではありません。