0

Authorization 属性を使用して、コントローラー アクションで簡単に承認を行うことができます。しかし、Authorization 属性を使用するのと同じくらい簡単にビューをレンダリングするにはどうすればよいでしょうか?

たとえば、メニューがあり、ユーザーが特定のメニューを許可されていない場合、それらのメニュー項目を非表示にするにはどうすればよいでしょうか?

追加/編集/削除リンクを含むテーブルをレンダリングするページがあるとします。これらのリンクに対応するコントローラー アクションがあるため、権限のないユーザーはそれらのアクションを実行できません。しかし、私はそれらを完全に隠してさらに進めたいと思います。

私が今持っているのは、ビュー内のユーザー権限をチェックする混乱のスパゲッティです - <% if (user.hasPermission(..) { %> ... <% } %> の束全体。手に負えません。

この混乱を軽減するためにどのような戦略がありますか? 確かに、このジレンマに陥ったのは私が初めてではありません。

4

1 に答える 1

0

「セキュリティトリミング」ActionLinkヘルパーが問題をうまく解決すると思います:

「セキュリティを意識した」アクション リンク?

于 2010-06-05T03:26:01.167 に答える