科技时代新浪首页 > 科技时代 > 学园 > 正文

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


http://www.sina.com.cn 2006年03月01日 17:04 天极yesky

    作者:朱先忠

    一、 简介

  在本文中,我们将主要探讨ASP.NET 2.0的会员、角色和配置问题。ASP.NET中的会员系统提供了一个可编程API用于创建和管理用户账户,而其中的角色部分使开发者能够定义一组角色并把用户与角色相关联。典型地,一个提供用户账户的网站都具有只为某些用户、认证用户或属于特定角色的用户所存取的内容部分。

  例如,一个Web站点可能有一组页面-它允许一个信任用户编辑该Web站点的内容或管理已有用户。不是简单地试图隐藏这个页面并且希望没有人偶然在浏览它时遇到麻烦,或硬编码授权而仅允许单个用户;一种更为强壮和安全的方式是定义一个管理员角色-然后赋给他一组选出来的信任用户。然后,这些管理web页面被进一步配置以允许仅对那些具有管理员角色的用户可以存取。同样,该Web站点可能包含一组只有认证用户可以存取的页面。

  既然该站点的某些部分可能只能为某些用户所存取,那么,这就使得我们在站点导航时有点进退两难。我们是否要包括那些只有授权用户才能在Web站点的站点地图中存取的页面?如果我们这样做了,那么所有的用户将会在该站点的菜单或树视图中看到受限制的页面。为什么不能向存取它们的用户显示指向这些页面的链接呢?如果我们从站点地图上删除了这些受限制的页面,那么那些来观看这些页面的授权用户就无法容易地导航到它们,因为它们不是站点地图的一部分,并因此不会出现在该站点的树视图或菜单中!

  值得庆幸的是,ASP.NET 2.0的站点导航提供了一种称为安全性修剪的特性。当用支持安全性修剪的功能获得站点地图信息时,只有那些当前登录的用户具有访问授权的站点地图结点才是可用的。这意味着,站点的TreeView或Menu将仅包含为当前登录用户可存取的那些部分。要想了解怎样配置站点导航以支持安全性修剪,请接着往下读!

  二、 配置ASP.NET 2.0的会员和(可选)角色

  既然站点导航安全性修剪把站点地图数据基于访问页面的用户和为站点地图中的页面定义的授权设置,那么在我们可以分析安全性修剪之前,你必须首先配置你的Web站点以使用ASP.NET 2.0的会员服务功能。(你也可以配置该站点来使用角色,并使用基于角色的授权优点,但是这对于展示安全性修剪概念并不作要求。)至于详细讨论怎样配置一站点以使用会员和角色已经超出了本文的范围。

  在本文最后的下载中包括一个可用实例-它实现为一个Web站点安全地修剪站点地图。该站点实现了会员和角色。如果你不想在一个新的Web站点上花费时间来安装会员和角色特性的话,你可以使用它。具体地说,在本文后面可下载的Web站点中包含两个角色-管理员(Administrator)和测试员(Tester),并有四个用户:

  ·Superman,其角色为管理员和测试者

  ·Admin,其角色为管理员

  ·Mr.Tester,其角色为测试者

  ·Average User,没有任何角色

  而且,我在该工程中有三个文件夹:Admin,Tester和AuthUsersOnly。前两个文件夹已经被配置仅允许具有管理员和测试者角色的用户存取。AuthUsersOnly文件夹被限制仅用于认证的用户。

 [1] [2] [3] [下一页]

发表评论

爱问(iAsk.com)



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Corporation, All Rights Reserved

新浪公司 版权所有