2012-05-02 5 views
0

私たちはウェブサイトを開発しており、モデルのCRUD(Countryなど)を扱うコントローラーを用意しています。管理者だけがCRUD操作を実行できます。しかし、コントローラは、ドロップダウンを設定するエンティティのJSON選択リストを提供することも欲します。このパターンはアプリケーションを通して存在します。コントローラのアクションが異なる権限レベルを持つことは悪い習慣ですか?

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

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

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

おかげ

答えて

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セクションは、管理者専用として保護されるこの方法です。

+0

そうですね、これは、このように権限を誤ってしまうのは簡単ではないかと、私の懸念事項でした。 – GraemeMiller

関連する問題