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
Registrare un servizio generico nella dependency injection di ASP.NET Core
Registrare un servizio generico nella dependency injection di ASP.NET Core
Eseguire lo shutdown pulito di un'applicazione ASP.NET Core
Effettuare il tracing asincrono delle chiamate a un'applicazione ASP.NET Core
L'agenda di #netconfit è online => https://aspit.co/netconfit-20 3 track, tante sessioni e una keynote speciale di @shanselman per la più importante conferenza in lingua italiana su .NET! Vi aspettiamo il 24/11. Iscrizioni sempre aperte! #donet #aspnet #netconf
Eseguire del codice personalizzato al click di una checkbox in Blazor
Testare le impostazioni CORS di un'applicazione ASP.NET Core
.NET Conference Italia 2020