C # Sql SiteMap Поставщик безопасности Обрезка не работает - PullRequest
1 голос
/ 26 мая 2009

Пока я использовал web.sitemap, настройка безопасности в моем меню работала нормально. Теперь, когда я перешел на Sql Site Map Provider, обрезка безопасности перестала работать.

        <siteMap enabled="true" defaultProvider="AspNetSqlSiteMapProvider">
        <providers>
            <add name="AspNetSqlSiteMapProvider" type="SqlSiteMapProvider" securityTrimmingEnabled="true" connectionStringName="SiteMapConnectionString" sqlCacheDependency="SiteMapDatabase:SiteMap"/>
        </providers>
    </siteMap>

Мне пришлось отредактировать proc_GetSiteMap, чтобы вернуть мои пункты меню в правильном порядке сортировки, но он возвращает все соответствующие данные из таблицы карты сайта (включая роли).

Любая помощь будет оценена.

1 Ответ

1 голос
/ 02 ноября 2011

Имеете ли вы ограниченный доступ к папкам, которые должны быть ограничены файлом 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

...