Показать / скрыть siteMapNode на основе роли AD в web.sitemap

Я наткнулся на несколько статей о том, как показать и скрыть весь siteMapNode в web.sitemap, но не смог заставить его работать.

У меня нет своих веб-страниц в отдельных папках, все мои веб-страницы находятся в корневом каталоге.

Я хотел бы показать узел Customer всем, но показать узел Admin только членам моей группы AD AD.

Вот что я настроил до сих пор

Web.sitemap

<?xml version="1.0" encoding="utf-8" ?>
 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
 <siteMapNode key="__ROOT__" url="" title=""  description="" >   

<siteMapNode  title="Customer"  description=""  roles="*">
  <siteMapNode url="~/CustomerManagement" title="Customer Management"  description=""  />
  <siteMapNode url="~/CustomerDetailed" title="Customer Detailed"  description=""  />     
</siteMapNode> 

<siteMapNode url="" title="Admin"  description="" roles="admin" >     
  <siteMapNode url="~/AdminManagement" title="Admin Management"  description="" />    
  <siteMapNode url="~/AdminDetailed" title="Admin Detailed"  description="" />  
</siteMapNode>

</siteMapNode>
</siteMap>

Web.config - securityTrimmingEnabled = "true"

  <siteMap defaultProvider="XmlSiteMapProvider" enabled="true" >
  <providers>
    <clear />
    <add name="XmlSiteMapProvider"
             description="Default SiteMap provider."
             type="System.Web.XmlSiteMapProvider"
             siteMapFile="Web.sitemap"
             securityTrimmingEnabled="true" />
  </providers>
</siteMap>

Web.config - Настройка пути к месту - я не уверен, как его настроить, поскольку у меня нет отдельных папок для веб-страниц.

 <location path="">
    <system.web>
        <authorization>
            <allow roles="*"/>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

Пожалуйста помоги

0 ответов

Другие вопросы по тегам