场景是:
我正在开发 vs2005 和 sql server2005 中基于角色的项目。我在数据库中定义了角色并添加了自定义角色提供程序。我有两个角色,如“管理员”和“用户”。我在项目中创建了两个文件夹,并根据角色将页面放置在这些文件夹(管理员和用户)中。现在我想在 web.config 中添加代码以根据角色访问页面,这意味着管理员只能看到 admin 文件夹页面,而用户只能看到用户文件夹页面。
如果我只为管理员定义一页,为具有角色授权的标签中的用户定义一页,那么它们可以正常工作。但是如果我在两个文件夹中都使用了多个页面,那么我需要在 web.config 文件中为这两个文件夹定义所有页面。
我使用了这样的位置标签
<location path="user/userpage1.aspx">
<system.web>
<authorization>
<allow roles="user"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
是否有可能为文件夹而不是标签中的页面分配角色。如果是,请提供一些有价值的想法来实现这一点。
更新 我在我的网络配置中添加了这两个位置标签
<!--allow admin role members-->
<location path="admin/adminpage1.aspx">
<system.web>
<authorization>
<allow roles="admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<!--allow user role members-->
<location path="user/userpage1.aspx">
<system.web>
<authorization>
<allow roles="user"/>
<deny users="*"/>
</authorization>
</system.web>
</location>