0

我们正在开发一个网站,并且我们有一个控制器来处理模型(例如 Country)的 CRUD。仅允许管理员执行 CRUD 操作。但是,我们还希望控制器提供一个 JSON 选择实体列表来填充下拉列表。这种模式存在于整个应用程序中。

这意味着我们不能使用标准的授权属性来限制管理员在控制器入口处的访问。我们需要用特定的授权属性来装饰每个动作。

我们在单个控制器上需要多个授权级别这一事实是不是一个不好的信号?这是否表明我们违反了 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 回答