在webconfig asp.net和站点地图中配置角色

在webconfig asp.net和站点地图中配置角色,asp.net,sitemap,roles,Asp.net,Sitemap,Roles,我对我的站点地图的角色执行有一些想法。让我一步一步地解释。登录UserA有RoleXYZ。在myFolder中,我有两个资源:file1和file2。此部件的My web.config配置: <location path="myFolder"> <system.web> <authorization> <allow roles="RoleXYZ, RoleABC" /> <deny users="*" />

我对我的站点地图的角色执行有一些想法。让我一步一步地解释。登录UserA有RoleXYZ。在myFolder中,我有两个资源:file1和file2。此部件的My web.config配置:

<location path="myFolder">
  <system.web>
   <authorization>
    <allow roles="RoleXYZ, RoleABC" />
    <deny users="*" />
   </authorization>
 </system.web>
</location>
我的网站地图:

<siteMapNode title="$Resources:Web.sitemap, Home" url="~/Home.aspx">    
   <siteMapNode title="Process"  roles="RoleXYZ, RoleABC">
      <siteMapNode title="Add Customers" url="~/myFolder/file1.aspx" roles="RoleXYZ"> </siteMapNode>
      <siteMapNode title="Add Partners" url="~/myFolder/file2.aspx" roles="RoleABC"> </siteMapNode>
   </siteMapNode>
   <siteMapNode title="ContactUs" url="~/ContactUs.aspx"></siteMapNode>
 </siteMapNode>
由于UserA只有一个角色RoleXYZ,通常他不会看到siteMapNode添加合作伙伴


知道问题出在哪里吗?

角色属性只能用于扩大某个siteMapNode的可见性,而不能限制它。MSDN文档对此充其量只是一种误导


此外,请记住,您的配置不安全:角色RoleXYZ和RoleABC的用户都可以通过在浏览器中键入地址来访问这两个页面。您应该限制对Web.config中各个页面的访问,而不是尝试使用“角色”属性。

我应该如何限制对Web.config中各个页面的访问,以通过在browser@Saadkhatri,这取决于您的用户和角色。上述Alex Bob的web.config将拒绝除具有XYZ或ABC角色的用户之外的所有用户的访问。我希望这有帮助。否则,你能更具体一点吗?请告诉我web.config文件应该放在哪里。。我是否使用与我的角色相同的名称创建新文件夹,或者…文件夹名称不相关。将web.config放在要应用规则的文件夹中。角色名称在行中指定