Email 使用电子邮件地址作为用户id的优缺点是什么?
我正在创建一个需要注册/身份验证的web应用程序,我正在考虑使用电子邮件地址作为唯一的用户id。以下是我认为的优点和缺点(更新了回复): 专业人士Email 使用电子邮件地址作为用户id的优缺点是什么?,email,authentication,registration,Email,Authentication,Registration,我正在创建一个需要注册/身份验证的web应用程序,我正在考虑使用电子邮件地址作为唯一的用户id。以下是我认为的优点和缺点(更新了回复): 专业人士 注册时少填写一个字段(只需填写电子邮件地址、密码和验证密码)。我是极简主义注册的忠实粉丝 电子邮件地址更容易记住。(谢谢) 你不必担心你最喜欢的用户名已经被盗用了——你是唯一一个使用你的电子邮件地址的人。(谢谢) 缺点 用户每次登录时都要输入更多内容 如果用户需要多个帐户怎么办?他们需要另一个电子邮件地址。(我是否希望用户能够创建多个帐户?) 潜在攻
谢谢大家的回复。我已决定使用电子邮件作为id,但在注册后允许创建用于登录目的的用户名。这允许在尽可能短的注册时间内有一点灵活性。它还可以防止用户更改电子邮件地址时出现问题(他们只需使用用户名登录并更新即可)。我还将实施一些方法,以防止电子邮件地址被强行挤出注册和登录系统(主要是在反复尝试后的一段冷却期)。我认为您错过了一个专业:
用户可能会记住他们的电子邮件地址;而且,由于电子邮件地址是唯一的,他们永远不必担心自己的首选用户名已经被占用。作为网站用户,我可以告诉你,我讨厌记住不必要的用户名。我不使用唯一的手柄或任何东西,因此我永远记不起我使用的名字的哪个变体没有被采用。我宁愿键入我的电子邮件地址
另外,我喜欢OpenID。就个人而言,我更喜欢使用我的电子邮件地址作为用户名。记住这件事就少了一件事,而且我从来不用担心我喜欢的名字已经被取了 就我的2美分 缺点
一个缺点可能是,如果它是一个电子邮件地址,登录可以猜测的人和暴力攻击企图。这其实不是什么大问题,因为在今天的大多数网站上,登录都是公开的 最大的优点是这样登录更容易记住。pro 人们讨厌创建一个与自己的id相匹配的唯一名称,而这个名称还没有被用于注册网站。这就是为什么像电子邮件地址这样的用户id如此受欢迎的原因
ex:TStamper1930,谁真的想记住我名字末尾的1930,我真的很想知道缺点:如果一个黑客可以尝试集体注册随机电子邮件地址,他或她将能够根据注册失败的原因找出这些地址中的哪些是有效的。这是一种策略,可以用来整理已知有效电子邮件地址的列表,这些地址是垃圾邮件黑市上的热门商品
虽然现在我想起来了,但这是一个影响任何网站的问题,无论是否有单独的用户名,在注册过程中要求提供电子邮件地址。但这仍然是需要考虑的。缺点:如果我更改了电子邮件地址,我所有的帐户名突然都无效了。我的名字没有变,但我的电子邮件经常会变。几年后,我偶尔会再次访问一个网站,并被卡住了。。。两年前我的电子邮件地址是什么?我倾向于不喜欢赞成/反对列表,而是试着想想好处和挑战 挑战: 一些用户可能会使用ISP提供的电子邮件地址。对于那些在更换ISP之前忘记更新所有已注册网站的电子邮件的用户来说,单独链接到电子邮件可能很困难 相反:
你应该考虑允许用户提供多个地址,以及用户选择的ID,然后让用户决定他们希望做什么。也可能考虑允许用户提供OpenID帐户。
< P>一个好的设置是需要用户名和电子邮件。允许用户使用电子邮件地址或用户名登录是非常友好的。另一个好处是用户可以更改其电子邮件地址。它还允许一封电子邮件有多个帐户。坚持使用电子邮件地址,它们在任何地方都会使用,实际上大多数情况下都是如此require 'strscan'
def signup!(user, &block)
self.email = user[:email] unless user[:email].blank?
str = StringScanner.new(self.email)
str.scan_until(/@/)
str.pre_match
self.login = str.pre_match