我正在决定是使用数据库中已经存在但使用不同用户名的电子邮件接受新注册还是拒绝它。
有时我会忘记网站的用户名和/或密码。然后我尝试使用我使用的不同用户名/相同的电子邮件重新注册,但经常被某些网络应用程序拒绝。
你对此有何看法?
编辑:忘记这个其他重要的问题......
在注册期间尝试查看数据库中是否已存在用户名时,我应该进行区分大小写的比较吗?不同的案例使用是否应该创建不同的用户名?
密码呢?他们应该区分大小写吗?
谢谢!
我正在决定是使用数据库中已经存在但使用不同用户名的电子邮件接受新注册还是拒绝它。
有时我会忘记网站的用户名和/或密码。然后我尝试使用我使用的不同用户名/相同的电子邮件重新注册,但经常被某些网络应用程序拒绝。
你对此有何看法?
编辑:忘记这个其他重要的问题......
在注册期间尝试查看数据库中是否已存在用户名时,我应该进行区分大小写的比较吗?不同的案例使用是否应该创建不同的用户名?
密码呢?他们应该区分大小写吗?
谢谢!
我认为要求唯一的电子邮件地址是个好主意。它允许您重置忘记的密码并将其通过电子邮件发送给忘记的用户。
我建议如果您想拒绝重复的电子邮件地址,那么让您的用户使用他们的电子邮件地址作为他们的用户名。
我能想到不这样做的唯一原因是,如果您的系统可能需要一个人拥有多个登录 - 用于不同的访问级别、权限、区域等。最好设计系统,以便每个现实世界的人不过只需要一次登录。
关于区分大小写:您可以通过使用电子邮件地址作为用户名来避免这个问题 - 您可以在后台简单地小写所有内容。密码应该区分大小写。大写/小写大大增加了可用字符的数量,这使得暴力破解和猜测密码变得更加困难。
我不会这样做的。如果您有多个电子邮件,您将如何联系您的用户?另外你不是在注册时确认电子邮件吗?添加“恢复密码”程序比允许相同的电子邮件帐户更好。我也将它们用作唯一标识符。
每个电子邮件地址只允许一个用户名。我认为在某些情况下,根据您的服务,每个电子邮件地址允许多个帐户是有意义的。例如,我想为同一个电子邮件地址拥有多个 Twitter 帐户(例如,一个用于家庭 Twitter,一个用于技术 Twitter)。
我认为这是普遍接受和期待的。
大多数系统不允许在多个身份之间共享相同的电子邮件。在我看来,这种限制没有强有力的论据,除了@Scott Saunders 指出的——仅基于电子邮件重置密码会重置所有共享相同密码的帐户的密码。但是,我个人认为,如果用户对您的应用如此投入,以至于他们想要注册两次 - 让他们。
但是,我建议在电子邮件和用户身份方面要记住几件事:
.
') 和加号 (' ') 字符。+
一些系统忽略该点并将 john.doe@thedoes.com 视为与 johndoe@thedoes.com 相同。并且某些系统会以别名(或子电子邮件)的形式威胁加号之后的任何内容,因此 john.doe+mybank@thedoes.com 与 john.doe+mybank@thedoes.com 相同。(特别是,我知道至少有一个系统结合了这两种行为,所以 john.doe+mybank@thedoes.com 相当于 johndoe@thedoes.com)