Как использовать атрибут «securityTrimmingEnabled»

У меня есть приложение с конфигурацией безопасности, и роли создаются для одного и того же приложения. Я хочу установить видимость пункта меню на основе роли. Для этого я использовал следующий код. В 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>

В веб.конфигурации

 <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. Можете ли вы просмотреть это и сказать мне, где я ошибся.


person Rajaram Shelar    schedule 06.12.2011    source источник


Ответы (2)


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

person lnu    schedule 09.12.2011

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

person Rajaram Shelar    schedule 09.12.2011