#903 - Applicare le policy sui ruoli a SiteMap

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.


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC