在不同的asp.net mvc区域中分隔公共/管理区域AREA导致双控制器?

时间:2011-12-11 21:42:35

标签: c# asp.net-mvc authorization asp.net-mvc-areas

我的网站有多个公共页面,显示一些列表,如新闻,产品等...每个人都可以看到。所以我有一个NewsController和ProductController。 “创建/编辑”操作只能/必须由管理员执行。当我将管理内容(创建/编辑)与公共内容(列表)分开时,我将创建2个区域public / admin,每个区域都有自己的控制器。这意味着我将拥有一个带有List动作的TWO ProductController和一个带有Create / Edit动作和TWO NewsController相同游戏的产品......

那会有意义吗?我看起来像干 - 不要重复自己!

您如何处理有关新的asp.net AREA功能的情况?

2 个答案:

答案 0 :(得分:0)

AuthorizeAttribute是我处理它的方式,我不会使用区域来分区权限。

答案 1 :(得分:0)

我不确定你是如何重复自己的?我总是为crud操作创建一个管理区域。您应该将控制器之外的所有逻辑移动到一个单独的类中,并且根据此站点的大小,可能完全是一个单独的项目。看看Raccoon Blog如何构建他们的项目。我从他们的代码研究中学到了很多东西。如果您对如何构建代码有疑问,我建议您查看 - https://github.com/ayende/RaccoonBlog/tree/master/RaccoonBlog.Web。我相信他们有一个很好的例子来说明如何正确实施管理区域。