看起来这应该有用,但它没有。
我以高级用户身份登录,应该看到1个报告,但实际上我看到了2。
<siteMapNode url="Reports" title="Reports" description="" roles="Administrator, Power">
<siteMapNode url="default.aspx" title="Default" description="" roles="Administrator" />
<siteMapNode url="custom.aspx" title="Custom" description="" roles="Administrator, Power" />
</siteMapNode>
这应该可行吗?
答案 0 :(得分:3)
很抱歉,如果你已经检查了这个(你没有提到它),但你是否在web.config中启用了修剪?
securityTrimmingEnabled="true"
ASP.NET Site-Map Security Trimming on MSDN显示了这个'示例'web.config
<system.web>
<!-- …other configuration settings -->
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="Default SiteMap provider."
type="System.Web.XmlSiteMapProvider "
siteMapFile="Web.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>
</system.web>
HTH