用户模型之三层身份模型

3 sec read

先前介绍过三户模型,这天要介绍的是三层身份模型,从使用层面,三户模型更加适合交易类网站,三层身份模型可能更加适合社交性质的网站。三层身份模型将用户分层三个层次,分别为:账户标识符,登录标识符和公开标识符。翻译成大白话可以是:账户ID、登陆账号、昵称。

账户标识符(DB Key)

从软件工程的角度,需要在数据库中存在一个用户标识(key)来记录每个用户的记录。这个用户标识可能会被用在Cookies或者URL中,这个账户标识符必须是永久的、唯一的。通常是由系统自动生成的一个ID,这个ID不受用户的控制,从用户角度这个标识符应该是不不可见或至少是惰性的,这个标识符不应该与一些公共名称,比如手机号或邮箱。

登录标识符(会话认证)

在创建与账户标识符关联的有效会话(Session)时,登陆标识符时必须要的,他们用来从服务中获取授权。通常由唯一的账号/密码对表示(这里的账号可以是邮箱或手机号,也可以是用户选择的用户名)。注意,账户/密码并不是一定需要存在的,笔筒通过oAuth形式的授权登陆(类似微信登陆、微博登陆等)。

将登陆标识符与账户标识符分开,可以使得用户更加容易的改变登陆方式。由于账户标识符不需要更改,因此可以避免更换登陆方式或登陆账号带来的数据迁移问题。最重要的是,可以提供多个不同登陆标识符附加到单个账户上,从而可以允许服务聚合从多个身份供应商收集的信息。(如授权获得微信或微博的个人信息)

公开标识符(社会标识)

与账户标识符和登陆标识符不同,公开标识符标识用户希望如何被服务商的其他用户感知。在线用户的公共标识符通常是复合对象:照片,昵称,可能还有年龄,性别和位置。它为任何观众提供了足够的信息,可以快速解读个人背景。公共标识符通常链接到详细的用户配置文件,其中可以进一步识别身份。公开标识符在某些情况下需要唯一(比如类似微博的@功能),有时是不需要唯一的(如微信的昵称)。

参考链接:http://habitatchronicles.com/2008/10/the-tripartite-identity-pattern/

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

AttributeError: ‘NoneTyp…

在PyCharm创建的Virtualenv环境下,使用pip安装包时,老是提示需要升级pip,具体提示信息为:
12 sec read

Anaconda包更新遇到的问题及解决方案

Anaconda可以通过命令升级所有的Python包,具体命令为:conda update –al
7 sec read

复合事件处理CEP简介

什么是复合事件处理? 这是一个IT事件爆发的时代,各种IT系统之间或系统内部,每天产生大量事件。系统在关键点打
23 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注