Как использовать атрибут securityTrimmingEnabled - PullRequest
1 голос
/ 06 декабря 2011

У меня есть приложение с настройкой безопасности, и для этого приложения созданы роли. Я хочу установить видимость пункта меню на основе ролей. Я использовал следующий код для достижения этой цели В Web.sitemap

<siteMapNode url="" title=""  description="" >
    <siteMapNode url="~/Account/Default.aspx" title="Change Password"  description=""  securityTrimmingEnabled="true"/>
    <siteMapNode url="~/Account/ChangePasswordSuccess.aspx" title="Welcome"  description="" />
    <siteMapNode url="~/Account/Demo.aspx" title="Demo"  description="" />
</siteMapNode>

В web.config

 <system.web>
<siteMap enabled="true" defaultProvider ="AspNetXmlSiteMapProvider" >
        <providers>
            <clear/>
            <add siteMapFile="Web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true" />
        </providers>
    </siteMap>
        </system.web>

при запуске приложения и входе на веб-сайт я получил сообщение об ошибке, похожее на * Нераспознанный атрибут «securityTrimmingEnabled». Обратите внимание, что имена атрибутов чувствительны к регистру. * Эта ошибка снова повторяется, даже если я удаляю ее из web.config. Можете ли вы просмотреть это и сказать мне, где я ошибся.

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Вам не нужно securityTrimmingEnabled = "true" в файле карты сайта, только в файле web.config, где добавлен ваш поставщик карты сайта.

0 голосов
/ 09 декабря 2011

Это делается просто путем удаления securityTrimmingEnabled="true из файла карты сайта.

...