我有这个站点地图:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode>
<siteMapNode url="www.google.com" title="Google" roles="*" />
<siteMapNode url="www.zdnet.com" title="Zdnet" roles="NonExistingRole" />
<siteMapNode url="www.microsoft.com" title="Microsoft" roles="*" />
<siteMapNode url="www.bing.com" title="Bing" roles="*" />
</siteMapNode>
</siteMap>
我正在使用这样配置的自定义角色提供程序(每当我调用例如 GetRolesForUser 方法时,这都有效):
<authentication mode="Windows"/>
<roleManager enabled="true" defaultProvider="MyProvider">
<providers>
<clear/>
<add name="MyProvider" type="CustomProviders.MyTestRoleProvider, CustomProviders, Version=1.0.0.0, Culture=neutral"/>
</providers>
</roleManager>
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<clear/>
<add name="XmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap" securityTrimmingEnabled="true"/>
</providers>
</siteMap>
我期望的是角色=“NonExistingRoles”的节点不会被可视化,但它会。如何解决这个问题呢?
我还需要打开吗?