今天闲着没事,重新看了一下 ASP.NET 快速入门教程中关于 站点导航的章节,并参照着做了一个例子,结果发现未在web.config 中配置XmlSiteMapProvider站点导航权限控制不起作用,所以需要注意在站点导航功能可以选择根据授权规则筛选提供程序返回的 SiteMapNode 实例。XmlSiteMapProvider 可以根据应用于当前网站的文件和 URL 授权规则筛选节点。 XmlSiteMapProvider 将自动根据用户所属的角色和 web.config
中定义的授权规则的组合对每个 SiteMapNode 执行授权检查。
<!--web.config-->
<system.web>
<siteMap defaultProvider="AspNetXmlSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="AspNetXmlSiteMapProvider"
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="web.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>
</system.web>