Answers:
根据您的目标受众(“正常”,很精通技术,还是从社交网络发起)两种:
要么
两者都有问题。
在某些受众中,电子邮件地址发生了很大变化。您需要一个良好的帐户恢复机制,最好是为每个帐户添加多个电子邮件地址的选项。但是,由于电子邮件地址作为用户名优于个人选择的用户名,因为人们可以记住它们,而仅使用电子邮件+密码可以简化注册过程。
OpenID,Facebook Connect等都很棒。但是,大众市场尚无法理解“我在站点B上,我无法登录。我需要去站点A检查我的凭据” 的间接含义。不过,OpenID非常适合精通技术的受众,如Stack Exchange网站所示...
结论:您需要仔细考虑目标受众,并在可能的情况下,对不同的身份验证机制进行走廊可用性测试。
两者都有问题,信不信由你。
人们似乎几乎总是在改变他们的电子邮件。他们越年轻,情况越糟。因此,很难将帐户绑定到电子邮件。但是,电子邮件似乎比用户名更容易让人记住。
用户名很棒,因为它们不经常更改,但是人们经常忘记它们。然后,您必须同时处理密码检索系统和用户名检索系统。加倍的工作,一半的乐趣。
在没有某种开放ID系统的网站上,我个人都会这样做。我将两者都收集起来,都存储在数据库中,然后根据输入的登录值进行搜索以查看它们打算使用哪个。显然,这意味着用户名中没有@符号。但是,这使我的用户很容易记住至少两个选项之一。对于检索,我使用质询系统,因为我对用于验证的电子邮件保持警惕。黑客可以收到电子邮件...他们可能不知道一个人的第一只狗的名字或最喜欢的汽车是什么。
OpenId似乎使很多这种论点变得不那么重要了。结帐是一件好事。
它还可能取决于您如何存储用户信息。例如,如果您使用以主键作为用户名的数据库,则您可能不希望使用电子邮件地址作为用户名,因为如果用户更改了其电子邮件地址,则这将更改主键(并搞砸了)任何外键参考)。