隐喻-ASP.NET与游乐园

  隐喻有助于我们了解抽象的难以理解的事物,对于刚刚接触ASP.NET的开发人员来说,理解ASP.NET的身份验证机制可能会比较困难。我本人就是一个刚转倒ASP.NET上的程序员,由于最初并不了解ASP的身份验证机制,导致在项目中走了一些弯路,希望通过联想到大家去游乐园的场景能够帮助大家更好的理解ASP.NET的验证机制。

ASP.NET提供了三种机制来验证用户身份

1.windows模式

  ASP.NET使用基于已登录的windows账户和角色来指派权限,由于IIS和.net framework都安装在windows系统当中,windows允许的用户也就被ASP.NET允许。windows用户有属于自己的角色。ASP.NET的资源又可以根据用户的角色指派权限。如可对某个目录指派可以访问的角色。

  考虑进入游乐园中的场景,游乐园中有一场剧场有表演节目。对游乐园中的所有人开放。也就是说进入游乐园的游客都可以观看。可以把游乐园看做是WINDOWS,把剧场看作是ASP.NET。把那么怎么理解角色呢,剧场中的不同部分对不同角色的人员开放,如舞台幕后允许表演者使用,灯光音响等设备由组织者管理。而观众们只能在观众席上观看表演。

2.forms模式

  基于cookies的验证票模式的验证。asp.net对于通过用户名密码验证的用户会发送给他们cookies验证票保存在客户端,该cookies验证票有一定生命期限。我们的角色等信息也保存在验证票中。ASP.NET再根据用户的角色来限制用户访问资源。

  类似的工作人员进入游乐园需要工作证,工作牌来证明他们的身份。游客进入游乐园需要门票(匿名)会员证,年票(实名),这些都相当与cookies ticket。它们也有有效期限。游乐园对进入它的不同角色所开放的区域当然不同。

3.passport模式

  最后是passport模式。通过passport验证的应用可共享用户的信息。也就是说用户通过了一个应用的验证就可已同时使用其它的应用。

  假设好几个游乐园连锁经营,实行通票制。我们只要加入其中一个游乐园的会员。就可以使用该会员资格游玩其它所有连锁经营的游乐园

 

由于本人对ASP.NET的机制的理解还十分有限。有误区的地方还请大家加以指正。

posted @ 2009-02-13 08:14  君未鸣  阅读(1757)  评论(8编辑  收藏  举报