C# ASP.NET站点地图提供程序站点地图选项卡未显示
我正在使用VS2005,但我在使用站点地图选项卡时遇到了一些问题 我在ASP.NET配置工具中分配了两个角色,并为每个用户分配了一个角色 我的登录正常,访问控制正常。若我并没有登录,并且我试图访问一个角色受限页面,它会将我重定向到登录页面 但是,当我登录时,当我使用正确的特权用户登录时,应该显示的一些站点节点仍然没有显示C# ASP.NET站点地图提供程序站点地图选项卡未显示,c#,asp.net,C#,Asp.net,我正在使用VS2005,但我在使用站点地图选项卡时遇到了一些问题 我在ASP.NET配置工具中分配了两个角色,并为每个用户分配了一个角色 我的登录正常,访问控制正常。若我并没有登录,并且我试图访问一个角色受限页面,它会将我重定向到登录页面 但是,当我登录时,当我使用正确的特权用户登录时,应该显示的一些站点节点仍然没有显示 登录前: 登录后: 从上面的屏幕截图中,我的节点仅在登录和未登录时显示Home。我应该看到一个数据库管理选项卡,它不受admin01的限制 下面是我的Web.confi
登录前:
登录后: 从上面的屏幕截图中,我的节点仅在登录和未登录时显示
Home
。我应该看到一个数据库管理选项卡,它不受admin01
的限制
下面是我的
Web.config
代码片段:
<system.web>
<authentication mode="Forms" />
<roleManager enabled="true" />
<pages styleSheetTheme="DataWebControls" />
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="Default SiteMap provider."
type="System.Web.XmlSiteMapProvider"
siteMapFile="Web.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>
<compilation debug="true"/>
</system.web>
<siteMapNode url="/Project/Default.aspx"
title="Home" description="Home">
<siteMapNode title="Database Management"
description="Database tab">
<siteMapNode url="/Project/Database/Employee.aspx"
title="Employee"
description="" />
<siteMapNode url="/Project/Databaase/Customer.aspx"
title="Customer"
description="" />
<siteMapNode url="/Project/Database/Goods.aspx"
title="Goods"
description="" />
<siteMapNode url="/Project/Database/Transactions.aspx"
title="Past Transactions"
description="" />
</siteMapNode>
</siteMapNode>
编辑:在文件夹
/Project/Database
上添加了访问角色屏幕截图:
其他信息:
即使未创建访问规则,且未为用户分配任何角色,仍不会显示数据库
节点您是否尝试将角色属性添加到相关sitemapnodes
<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
<siteMapNode url="/Project/Default.aspx"
title="Home" description="Home">
<siteMapNode title="Database Management"
description="Database tab" roles="Admin">
<siteMapNode url="/Project/Database/Employee.aspx"
title="Employee" roles="Employee,Admin"
description="" />
<siteMapNode url="/Project/Databaase/Customer.aspx"
title="Customer" roles="Customer,Employee,Admin"
description="" />
<siteMapNode url="/Project/Database/Goods.aspx"
title="Goods"
description="" />
<siteMapNode url="/Project/Database/Transactions.aspx"
title="Past Transactions"
description="" />
</siteMapNode>
</siteMapNode>
</siteMap>
是否已检查网站管理工具添加到您限制访问的文件夹中的web.config文件?因为有时候问题就在那里
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin,Employee" />
<deny users="?" />
</authorization>
</system.web>
</configuration>
我想我已经为您找到了解决方案
正在限制访问的web配置
首先允许访问,然后拒绝访问:
<configuration>
<system.web>
<authorization>
<allow roles="Admin1" />
<deny users="*" />
</authorization>
</system.web>
</configuration
我们的web.sitemap文件似乎配置不正确。请编辑您的帖子并添加您的web.sitemap,并添加一些信息您在项目中定义了哪些角色-如果web.config中不包含sitemab选项卡,则可以显示我的站点地图。我已检查每个文件夹中的web.config
文件,并且授权正确。我还尝试在我的SiteMapNodes中添加角色,但仍然不起作用。