2012-05-02 49 views
0

我們正在開發一個網站,並且我們有一個控制器來處理模型(例如國家/地區)的CRUD。只有管​​理員被允許執行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

相關問題