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.
Approfondimenti
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Cache policy su route groups di Minimal API in ASP.NET Core 7
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet