ASP.NET 2.0 ile birlikte SiteMap dosyalarında sitelerin hiyerarşisi tutulabilmekte ve SiteMap dosyalarında yer alan verilere göre dinamik olarak menüler oluşturulabilmektedir. Yazılım geliştiricilere çok büyük kolaylık sağlayan SiteMap dosyasında hangi verinin hangi rol gruplarında görüntülenebileceği de SiteMap dosyasında belirlenebilmektedir.
Site içerisinde Admin ve Katılımcı isimli iki rol grubu düşünüldüğünde sadece bu rol gruplarına üye kişilere görüntülenecek olan sayfalar SiteMap dosyası içerisinde aşağıdaki gibi tanımlanabilir.
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="SeminerKayit.aspx" title="Seminer Kayıt" description="">
<siteMapNode url="AdminUsers/default.aspx" title="Admin" description=""
roles="Admin" SecurityTrimmingEnabled="true" />
<siteMapNode url="KatilimciUsers/default.aspx" title="Katilimci" description=""
roles="Katilimci, Admin" SecurityTrimmingEnabled="true" />
</siteMapNode>
</siteMap>
Yukarıdaki kodlara dikkat edildiğinde SiteMap'de düğümler tanımlanırken roles="Admin" ve SecurityTrimmingEnabled="true" şeklinde ifadeler yer almaktadır. roles özelliği ile ilgili düğümün hangi rol gruplarında görünür olacağı ve SecurityTrimmingEnabled özelliği ile de ilgili düğüm için oturum açan kişinin dahil olduğu rol grubu burada belirtilenlerden biri değilse düğümün menü oluşturulurken yok sayılacağı belirtiliyor.
Yukarıdaki işlemlerin ardından sitenin uygulama ayarlama dosyasında (web.config) da aşağıdaki işlemler gerçekleştirilmelidir.
<system.web>
.....
<siteMap>
<providers>
<remove name="AspNetXmlSiteMapProvider"/>
<add siteMapFile="web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" securityTrimmingEnabled="true"/>
</providers>
</siteMap>
.....
</system.web>
Yukarıdaki kodlarda SiteMap sağlayıcısı özelleştirilmektedir. Kodlarda ilk olarak makine düzeyinde varsayılan ayarlar silinmiş ve ardından yeniden securityTrimmingEnabled="true" özelliği ile web.config'e eklenmiştir. securityTrimmingEnabled="true" özelliği ile SiteMap dosyası içerisinde kullanılan rol grubuna göre düğümlerin görünmez olmasını sağlayacak olan ayarların kullanılabilmesi sağlanmaktadır. Burada dikkat edilmesi gereken nokta securityTrimmingEnabled özelliğinin ilk harfinin web.config'de küçük s, SiteMap dosyasında ise büyük S olarak ayarlanmasıdır.
Yukarıdaki ayarların ardından herhangi bir sayfaya bir adet Menu veya TreeView kontrolü sürüklenip bırakıldıktan sonra SmarTag'inden SiteMapDataSource seçilerek gerekli rol gruplarına dahil kullanıcılar ile giriş yapıldığında düğümlerin görüntüleniyor olacağı görülecektir.