日期:2014-04-29  浏览次数:22460 次

我们该用什么登录系统?这是个问题吗?我们当然用ID登录系统。

那么我换个合乎逻辑的问法:我们该用什么样的ID登录系统?

当然,这也简单,用什么注册的,就用什么登录了。

那么下一个问题是:这个ID也同时作为我的昵称出现的吗?

很多系统的开发者也许会这么回答:这个当然!

也许我得说,这个一点都不那么“当然”!

现有的系统的登录模式很显然参考了国外的模式——毕竟,人家起步早——英文的用户名往往就是该人实际的名字,而且用英文登录和我们的用中文登录比起来也省事很多,由于我们还得切换输入法。也许有人会说,这不成为问题,但我却极不喜欢,我喜欢使用简单的英文或是数字登录,进入系统后看到的名字是我喜欢的那个昵称,而且这个昵称还是我可以随便修正的。例如我可能用“ninsky”或是任何其它的字符登录,而在我发布的信息旁边显示的名字是“郁也风”。

要知道,每个用户在任何一个系统里面都应该只对应一个独一的内部ID,而这个ID应该和登录名无关的(如果有关那只能说是表字段设计的问题了,但遗憾的是,这种问题在大量的系统中出现)。系统中所有的交互操作应该都是和这个ID相关,而不是登录名。那么我能做的不光是修正昵称,甚至用来登录的那些字符也是可以任意修正的。当然,修正后的登录名也应该是系统中独一的。

这方面flickr做的就不错,虽然它是用email来登录的,但是可以任意修正这个email,乃至指定更多的email来登录。

不要把你的用户限制太死,包括登录!这也许应该作为系统设计的要求之一吧。

附:用户表应该包含的几个基本字段:

ID

login_id —— 依据情况,可以是普通的字符串,也可以是email地址

password

user_name

email