Каждая навигационная запись задается элементом <siteMapNode> и используй ет расширяемый список дополнительной информации, например URL и заголовок страницы. Вы также можете вложить а структуру навигации узловые элементы в виде иерархии.
<?хт<1 version=" 1,0" encoding="ui f-8" ?> <sj teMap>
<siteMapNorie ur]=""/Oofault.aspx" title="Home"> <siteMapNode url='"*/Create(Jsor. aspx"
i. itlo="Create new user" /> <siteMapNode url=""/ChangePassword.aspx"
title="Change your password" /> <siteMapNode url="http://www,leastprivilege.com"
title="Author homepage" />
<siteMapNode title="Special users area"> <siteMapNode url=""/SpecialUsers/Default.aspx"
title="Home" /> <siteMapNode url=""/SDecialUsers/Page1.aspx" title='"Pagel" /> <siteMapNode url=""/SpecialUsers/Page2.aspx" title="Page2" /> </siteMapNode> </siteMapNode> </siteMap>
Для того чтобы привязать этот файл карты сайта к элементу упранления, в стра ницу нужно добавить источник данных SiteMapDataSource.
Страница с картой сайта
<9f@ Page L.anguago="C«" %>
<!O0CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http: //www .w3.о rg/TR/xh tml1/OTD/xh tml1-1 ra n s it i ona1. dt d">
<html xmlns="http://www.w3.org/1999/xhtml" > •chead runat="server">
<title>Navigation</title> </head> <body>
<form id="torm1" runat="server"> <div>
<asp:SiteMapDataSource runat="servor" ID="_silemaP" /> <asp:TreeView runat="server" lD="_tree" DataSourcelD="_sitemap" /> </div> </form> </hody </(itnil>
Провайдер SitcMap может отображать или скрывать навигационные ссылки на основе членства пользователя в ролях. Провайдер проверяет, авторизован ли текущий «пользователь для просмотра страницы, указанной в атрибуте url. — это делается путем инспекции секции <auth.orizat.ion>файла web.config. Для включения этой опции нужно переопределить провайдер в локальном файле конфигурации и задать атрибут у securxtyTrimmingEnabled значение true.
<slteMap defaultProvider="AspNetXmlSiteMapProvidor" enabled="true"> <providers>
<clear />
<add
name="AspNetXmlSiteMapProvider" si teMapFlle="web.sitemap" securltyTrimmingEnabled="true" type="System.Web.XmlSiteMapProvider, ... /> </providers> </siteMap>
Теперь добавьте элемент authorization > для каталога Special Users.
<location path="SpecialUsers"> <system.web> <authorization> <allow roles="SpeclalUser" /> <deny users-'*" /> </authorization> </system.we0> </location>