科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件ASP.NET2.0导航功能之配置会员和角色

ASP.NET2.0导航功能之配置会员和角色

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在本文中,我们将主要探讨ASP.NET 2.0的会员、角色和配置问题。

作者:朱先忠编译 来源:天极开发 2007年11月6日

关键字: Windows

  • 评论
  • 分享微博
  • 分享邮件
三、 配置站点导航以使用安全性修剪

  默认地,站点导航并不使用安全性修剪。不管什么用户正在访问站点,并且不管定义什么样的授权规则,当每个用户通过一TreeView或菜单Web控件来观看站点地图数据时,他都被可以看到站点地图中的所有部分。通过启动安全性修剪,站点导航系统将自动地基于当前登录的用户和为站点地图中的<siteMapNode>元素所参考的页面的授权而限制显示结果。

  可以使用下列模式通过Web.config文件来配置站点导航设置:

<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
  description="Default SiteMap provider."
  type="System.Web.XmlSiteMapProvider"
  siteMapFile="siteMapFileName"
  securityTrimmingEnabled="true" />
</providers>
</siteMap>

  回想一下在本系列第一部分中的讨论——站点导航系统使用了提供者模型。这个模型提供给开发者一些良好定义的公共API,但是允许(如果需要的话)定制内部实现细节。缺省地,站点导航特点使用XmlSiteMapProvider-它从XML格式化的站点地图文件Web.sitemap中获得站点地图信息。你可以通过Web.config文件来改变所使用的提供者,或修改针对缺省提供者的缺省设置。

  为了定制缺省提供者的设置,只要简单地添加一新的提供者-它使用与缺省提供者(System.Web.XmlSiteMapProvider)相同的类型来定制所需要的设置。上面显示的代码片段展示了定制两个XmlSiteMapProvider的设置:

  ·siteMapFile设置指定由提供者所使用的站点地图文件的文件名;缺省地,这个值是Web.sitemap。你如果喜欢,可以在此定制文件名。但是,我鼓励你确保站点地图文件名以.sitemap扩展名结尾,因为缺省地这个扩展名被ASP.NET引擎保护,从而阻止web访问者观看站点地图文件。

  ·securityTrimmingEnabled设置显示是否使用安全性修剪。为了使用安全性修剪,可以把它设置为true,如上面所示。

  就是这些!仅需作此改变,站点导航系统就会根据当前登录的用户和为在<siteMapNode>元素中的URL定义的授权设置非常聪明地返回正确的部分。下列屏幕快照显示了当分别在匿名访问者(还没有登录的)、普通用户以及Admin用户访问时的TreeView的显示情况。该匿名访问者仅能看到两个链接-Home和 My Blog。普通用户能看到另外的一个链接-Auth Users,而匿名访问者是看不到它的,因为这个结点的URL(~/AuthUsers/Default.aspx)被配置为仅允许认证用户观看。Admin用户还能看到另外其它链接,因为他是管理员角色并且为Admin站点地图结点(~/Admin/Default.aspx)所指向的URL被配置仅允许由管理员存取。


当由匿名访问者访问时的TreeView


为普通用户访问时的TreeView


为Admin访问时的TreeView
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章