【发布时间】:2025-12-13 15:00:02
【问题描述】:
我开始将 ASP.NET Webforms 应用程序迁移到 ASP.NET MVC 3。该应用程序有一个可供所有用户(也包括匿名用户)访问的公共区域和几个只有经过身份验证的用户才能访问的区域担任特定角色。
WebForms 项目的组织方式如下:
Root folder -> contains all public pages
|
--- Private subfolder -> contains a few pages for ALL authenticated users
|
--- Customers subfolder -> contains pages for users in role "Customer"
--- Suppliers subfolder -> contains pages for users in role "Supplier"
--- Internals subfolder -> contains pages for users in role "Internal"
|
--- Admins subfolder -> contains pages for users in role "Admin"
etc.
目前授权由不同子文件夹中的web.config 文件管理。例如Customers 子文件夹包含以下web.config:
<configuration>
<system.web>
<authorization>
<allow roles="Customer" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
在 ASP.NET Webforms 中不再需要配置。此授权适用于Customers 子文件夹中的所有页面。
将此结构迁移到 ASP.NET MVC 3 的最佳方法是什么?或者更具体地说:
- 具有授权设置的此类
web.config文件是否仍可在 MVC 中以文件夹为基础工作? - 如果没有,是否有其他方法可以将授权要求应用于文件夹中的所有页面?
- 我仍然可以将各个区域组织在单独的文件夹中,尤其是我可以将单个
Controllers、Views、Models子文件夹放在每个文件夹Customers、Suppliers等下以保留所有逻辑和标记紧密结合?
感谢您的反馈!
【问题讨论】:
-
你可以查看prodinner.codeplex.com 示例,了解如何在 mvc 中使用授权
标签: asp.net asp.net-mvc asp.net-mvc-3