0

Webサイトを開発しており、CountryなどのモデルのCRUDを処理するコントローラーがあります。管理者のみがCRUD操作を実行できます。ただし、コントローラーがドロップダウンに入力するエンティティのJSON選択リストを提供することも必要です。このパターンは、アプリケーション全体に存在します。

これは、標準の許可属性を使用して、コントローラーへの入り口で管理者へのアクセスを制限できないことを意味します。各アクションを特定のauthorize属性で装飾する必要があります。

1つのコントローラーに複数の認証レベルが必要であるという事実は悪い兆候ですか?SRPに違反していることを示唆していますか?

多くのコントローラーが、管理者のみが更新可能である必要があるが、すべての許可されたユーザーにJSON選択リストを提供するエンティティに関連しているという事実に対処するための最良のパターンは何ですか?

ありがとう

4

1 に答える 1

2

これを行う際の唯一の問題は、管理者のみであるはずのアクションを保護することを忘れる可能性があるというリスクです。

この問題に取り組むための本当に好ましい方法は、サイトに管理者専用エリアを設けることです(MVCエリアを使用)。

http://msdn.microsoft.com/en-us/library/ee671793.aspx

http://sankarsan.wordpress.com/2012/04/14/asp-net-mvc-areasa-better-way-to-structure-the-application/

このようにして、www.site.com/adminセクション全体が管理者専用として保護されます。

于 2012-05-02T08:38:10.963 に答える