当我使用web.sitemap时,我的菜单上的安全修剪工作正常。 现在我已经切换到Sql站点地图提供程序,安全修整刚刚停止工作。
<siteMap enabled="true" defaultProvider="AspNetSqlSiteMapProvider">
<providers>
<add name="AspNetSqlSiteMapProvider" type="SqlSiteMapProvider" securityTrimmingEnabled="true" connectionStringName="SiteMapConnectionString" sqlCacheDependency="SiteMapDatabase:SiteMap"/>
</providers>
</siteMap>
我必须编辑proc_GetSiteMap以按正确的排序顺序返回我的菜单项,但它会返回站点地图表中的所有相关数据(包括角色)。
任何帮助都会被贬低。
答案 0 :(得分:1)
您是否限制了对应该使用web.config文件限制的文件夹的访问权限。
例如:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Administrator" />
<deny roles="user"/>
</authorization>
</system.web>
</configuration>
搜索时发现了一个链接,你也可以看看它: http://www.mytakeon.net/post/2006/09/The-SQL-SiteMap-Provider-and-trimming-by-roles-%28originally-posted-2006-09-20%29.aspx