| ASP.NET 2.0站点地图搭建网站导航结构 |
|
 |
|
| 日期:2006-8-10 10:14:09 人气:
[大
中 小] |
|
|
这里的大多数标记与在web.sitemap文件中的相同。然而,这里有一个重要的属性添加到了Products和Services—siteMapNodes:roles。这个roles属性指定能够存取这个结点及其子结点的角色。因为与产品相联系的链接仅显示给属于ProductTesters角色的用户,你要把Products siteMapNode的roles属性设置为ProductTesters。遵循相同的道理,你要把Services siteMapNode的roles属性设置为ServiceTesters。不具有指定的roles属性的siteMapNodes对于所有用户都可存取。另外,还应注意,Products和Services结点不再具有指定的URL属性。
现在,你需要配置站点地图提供者并且启动安全整修以便SiteMap数据源控件能够按照你的要求行动。把下列标记添加到web.config文件中:
<siteMap defaultProvider="myprovider" enabled="true"> <providers> <add name="myprovider" type="System.Web.XmlSiteMapProvider " siteMapFile="SecurityTrimming.sitemap" securityTrimmingEnabled="true" /> </providers> | 在此,你添加了<siteMap>节并且指定一个指向SecurityTrimming.sitemap文件的提供者。注意,这里的securityTrimmingEnabled属性被设置为true以支持安全整修。在你配置完<siteMap>节后,这个SiteMap数据源控件自动地从这个节中“拾取”这些设置。
把一个称为Login.aspx的新的web表单添加到网站上。然后,把一个Login控件拖动到它上面并且设置它的DestinationPageUrl属性为“~/SiteMapDataSourceDemo.aspx”。注意,你在之前已经开发了SiteMapDataSourceDemo.aspx。
运行Login.aspx(参考图11)并且输入针对user1的凭证。
 图11:登录页面 | 在你成功地登录以后,你应该看见如图12所示的TreeView。因为user1属于ProductTesters角色,所以隐藏了与服务相联系的链接。
 图12:使用安全整修 | 七、 总结
站点地图是一XML文件—它包含你的Web站点结构的所有细节。你可以使用站点地图文件来生成导航结构。三种使用站点地图文件的常用方法分别是:使用SiteMapPath控件,使用SiteMap数据源控件,或使用SiteMap类。你还可以使用一个特征—称为安全整修来支持到生成的导航链接的基于角色的安全性。这些控件和类共同帮助为你的Web地点创建一个专业的导航结构。
|
|
|
| 出处:本站原创 作者:zzcode |
|
|