今日学习心得:SiteMap设置以及在SiteMap中使用roles控制权限
2011-02-12 22:02 于为源 阅读(2322) 评论(0) 编辑 收藏 举报<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="后台管理" roles="管理员,客服,财务">
<siteMapNode title="客户管理" roles="管理员,客服">
</siteMapNode>
<siteMapNode title="商品管理" roles="管理员">
<siteMapNode url="~/Admin/ProductsCategory.aspx" title="商品分类">
<siteMapNode url="~/Admin/NewProductCategory.aspx" title="添加商品分类" />
</siteMapNode>
<siteMapNode url="~/Admin/Products.aspx" title="商品管理">
<siteMapNode url="~/Admin/NewProduct.aspx" title="添加商品" />
</siteMapNode>
</siteMapNode>
<siteMapNode title="订单管理" roles="管理员,财务">
<siteMapNode url="~/Admin/Orders.aspx" title="所有订单">
</siteMapNode>
<siteMapNode url="~/Admin/Payment.aspx" title="收款管理" roles="财务">
<siteMapNode url="~/Admin/PaymentToConfirm.aspx" title="待确认收款"/>
<siteMapNode url="~/Admin/ConfirmPayment.aspx" title="确认收款"/>
</siteMapNode>
</siteMapNode>
<siteMapNode title="咨询" roles="客服">
<siteMapNode title="有待回答的咨询" url="~/Admin/Question.aspx" />
<siteMapNode title="回答咨询" url="~/Admin/Answer.aspx" />
</siteMapNode>
<siteMapNode title="系统管理" roles="管理员">
<siteMapNode title="用户和角色" roles="管理员">
<siteMapNode url="~/Admin/Users.aspx" title="用户列表"></siteMapNode>
<siteMapNode url="~/Admin/NewUser.aspx" title="添加用户"/>
</siteMapNode>
<siteMapNode url="~/Admin/Roles.aspx" title="角色管理">
</siteMapNode>
<siteMapNode title="基础数据维护">
<siteMapNode url="~/Admin/Dic/Bank.aspx" title="银行开户帐号"/>
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
web.config配置
<siteMap enabled="true" defaultProvider="UserSiteMapProvider">
<providers>
<clear/>
<add name="AdminSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Sitemap/Admin.sitemap" securityTrimmingEnabled="true" />
<add name="UserSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Sitemap/User.sitemap"/>
</providers>
</siteMap>
页面中使用:
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1" ShowLines="True">
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" SiteMapProvider="AdminSiteMapProvider" />
需要注意的事项:
1.securityTrimmingEnabled="true" 表示按照当前用户的角色选择站点地图中的节点进行显示。如果设置了该属性为true,会查找不是叶子节点的节点对应的权限属性。如果当前登录用户的角色包括该节点所设置的属性,该节点会在treeview中显示。
本文来自博客园,作者:于为源,转载请注明原文链接:https://www.cnblogs.com/yuanyuan/archive/2011/02/12/1952849.html
如果对您有帮助,您也可以请我喝杯可乐。