今日学习心得:SiteMap设置以及在SiteMap中使用roles控制权限

 
  
<? 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值