L'utilizzo del Security Trimming consente di nascondere determinati nodi del SiteMap sfruttando Roles API, evitando la comparsa di quei nodi a cui l'utente non ha accesso.
Deve essere esplicitamente abilitato modificando le impostazioni dello XmlSiteMapProvider nel web.config, in particolare aggiungendo l'attributo securityTrimmingEnabled="true":
<configuration>
<system.web>
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="Default SiteMap provider."
type="System.Web.XmlSiteMapProvider "
siteMapFile="Web.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>
</system.web>
</configuration>
Non sono necessarie altre modifiche e da questo momento l'applicazione web utilizzerà le impostazioni specificate nelle sezioni authorization del web.config per nascondere i SiteMapNode eventualmente non accessibili all'utente.
Attraverso l'attributo roles del SiteMapNode è possibile estendere la visualizzazione anche a ruoli specifici, questo pur non by-passando le impostazioni di autorizzazione.
Visto l'overhead dovuto a quest'ulteriore controllo la documentazione ufficiale consiglia di non superare i 150 elementi nel sitemap.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.