我正在使用VS2005,并且在站点地图选项卡上遇到了一些问题。ASP.NET站点提供商sitemap选项卡不显示
我在ASP.NET配置工具中分配了2个角色,并为每个用户分配了一个角色。
我的登录正常工作,并且访问控制正在工作。如果我没有登录,我尝试访问角色受限页面,它会将我重定向到登录页面。
但是,当我登录时,有些网站节点会在我用正确的特权用户登录时显示,但它仍不会显示。
前登录:
登录后:
从截图上面,我的节点仅表现在两个登录和未登录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>
如果我从<siteMap></siteMap>
删除整个代码,我的节点将显示为正常:
我不期待一个完美的解决方案,因为我不知道我提供的信息是否足够,但我会很感激任何帮助。
如果需要更多信息,请告诉我,我会提供更多信息。
谢谢
编辑:新增Web.sitemap
代码片段:
<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
Access role screenshot
:
附加信息:
即使没有创建的访问规则,用户不与任何角色分配,则Database
节点仍未显示
看来我们的web.sitemap文件配置不正确。你能否请编辑你的文章,并添加你的web.sitemap,并添加一些信息,你在项目中定义了什么样的角色 - thx –
如果sitemab选项卡不包含在web.config中,我的站点地图可以显示 – gymcode