成员关系的概念在人类社会中是一个层次比较低的概念,源于希望属于某个群组的意识。我们希望能觉得自己是某个团队的一部分,让别人知道我们是谁,因此Web搭上这个流行趋势,采用这个概念只是时间早晚的问题。如果坐下来想一想曾经登录过多少个站点并在这些站点上保存了简单的用户信息,可能会发现自己所属的群组比一开始想象的要多得多。从出售书籍和小器具的站点到讨论拥有一辆Ford Puma的好处的社区,或者宣传一个名为Look Around You的BBC TV喜剧节目的站点,作者发现自己是会员的站点多得无法一一列举。接下来就会碰到一个熟悉的困难“登录这个站点要使用哪个用户名和口令?”
Web上最成功的站点之一,Amazon.com,一开始只是一个书店,但后面经营的范围越来越大。现在当用户登录Amazon时,将发现整个页面上全是与该用户的消费习惯有关的商品。
在开始开发涉及到成员关系的应用程序时,必须首先理解几个关键的概念,这些概念是身份、验证和授权。
1、身份——我是谁
在考虑身份时,我们可以用几种独一的特性来描述自己。例如,我是一个头发金黄的女人,喜欢看科幻电影和组装PC机,但这些信息对于对我的羽毛球技术感兴趣的人来说并不是必需的。保存在站点中的身份信息很可能只与一个人的某些方面相关。例如,一个购物站点会保存用户的姓名、电话号码、电子邮件地址和家庭地址,这些信息都与商品的销售有关。它们可能不会关心您的个人兴趣(除非它们和Amazon的规模一样大),所以它们并不需要保存关于用户的这类信息,但是这并不妨碍它们拥有这些方面的身份信息。
因此身份,也就是我是谁的概念,是一组范围很广的实际情况的集合。您可能曾经在简历里写下了很多实际情况,但这些情况同样只与潜在的雇主相关。在简历中保存和删除哪些情况由自己决定。在保存一个站点的成员的信息时,情况也是一样的,必须在开发阶段就确定要保存成员的哪些实际情况。
2、身份验证——这就是我
在试图登录一个网站的时候,用户要输入某些证书; 例如,邮件地址及其口令的组合。网站接下来必须判断用户是否就是自己声明的那个人,因此用户输入的邮件地址和口令的组合必须与保存在服务器文件中特定的邮件地址和口令组合相匹配。
身份验证的过程就是证明自己是自己所声明的那个人的过程。很多站点,不论它们是零售商品还是提供社区服务,都使用邮件地址和口令的组合作为身份验证方法,这是一种经过反复考验的方法。虽然这种方法不是绝对安全,但是只要选择一个足够可靠的口令并严格保密,同时站点的代码经过严格的测试,那么用户的配置文件将只能由用户本人使用。
3、授权——这是我能做的
在向网站输入用户名和口令之后,Web服务器将不仅会验证口令和用户名是否匹配,还将查看站点管理员给用户授予了什么权限。身份验证之后的下一个步骤是授权,这个步骤将检索您所拥有的用户账户类型的更多信息。
例如,以一个银行网站为例。在用户的登录信息通过验证之后,服务器将查看用户在该站点上的权限。与大多数用户一样,您可以查询账户、在账户之间转账或者支付账单。然而,如果银行受到某个安全方面的恐吓(类似于Internet上到处流传的网络钓鱼(phishing)电子邮件),您可能会发现自己突然无法通过这个在线应用程序添加任何第三方代理订单,直到安全危机解除为止。功能的关闭很可能是由管理员为一些或所有用户设置一个特殊的标记而进行控制的,在页面上告诉用户他们不再有权限修改他们账户的详细信息。
4、登录站点
登录站点的过程,从用户的角度看,就是输入一组证书,然后根据自己的配置文件看到不同用户界面的过程。通常,用户所使用的证书是用户名加口令的组合; 然而,对于安全性更高的站点,例如银行站点,可以使用其他的方式登录,包括PIN和安全认证。如果不考虑向服务器传送身份验证证书的方法,那么身份验证的基本原则是一样的。一旦验证完成之后,通过身份验证机制查询用户具有什么样的权限就比较简单了。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
云计算的安全方面如何进行管控?
随着云计算日益发展和壮大,安全成了主要的关注点,目前比较成熟的管控是如何进行的?
-
ASP.NET Web Forms的改进
虽然ASP.NET Web Forms不是vNext计划的一部分,但它并没有被忽视。作为Visual Studio 2013 Update 2的一部分,它重新开始支持新工具、EF集成和Roslyn。
-
开发团队随时面临违反隐私协议的问题
安全和隐私冲突吗?我们如何确保我们不违反自己的终端用户隐私协议?其实安全和隐私的相交之处就这二者都是组织的责任,来保护他们客户的敏感数据。
-
如何走出选择PHP还是ASP.NET的两难境地?
PHP和ASP.NET可以说是一对竞争对手,就两者的优劣性做出好坏评说的话,估计会有遭到双方程序员的激烈回应。