Applicare le policy sui ruoli a SiteMap

di Marco Leoncini, in ASP.NET 2.0, SiteMap, web.config,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi