• 今日学习心得: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中显示。

    作者:于为源 出处: http://www.cnblogs.com/yuanyuan/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    .NET:CLR via C# The CLR’s Execution Model
    VisualStudio:WEB 性能测试和负载测试 入门
    Maven:Maven 入门
    技术人生:东莞之行
    技术人生:新的生活计划
    Java:使用 Java 开发的一个异常处理框架
    .NET:命令行解析器介绍
    技术人生:希望有生之年开发一个“自己的解释语言”
    .NET:异常处理的两条“黄金定律”,求批!
    FAQ:Domain Event 和 C# 中的 Event 有啥区别?
  • 原文地址:https://www.cnblogs.com/yuanyuan/p/1952849.html
Copyright © 2020-2023  润新知