Реклама:

Каждая навигационная запись задается элементом <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>


⇐ Предыдущая страница| |Следующая страница ⇒