c#Sql SiteMap Provider安全性修剪不起作用

时间:2009-05-26 10:23:24

标签: c# sql sitemap security-trimming

当我使用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以按正确的排序顺序返回我的菜单项,但它会返回站点地图表中的所有相关数据(包括角色)。

任何帮助都会被贬低。

1 个答案:

答案 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