2011-03-03 79 views
2

大多数网站都要求用户名必须是唯一的。我注意到,SO允许重复的用户名,当你有像SO这样的非常大的网站时(我猜他们会这样做以避免像chris123,chris213,chris321这样的用户名开始让自己感到困惑)可能会很好。但是允许重复的用户名通常是相对较差的实现?从具有相同用户名的2个用户那里得到2个答案可能会令人困惑。大型网站,很多用户,如何唯一识别用户

那么还有什么其他的替代方案有大量的用户需要互相互动的大型网站?我在想甚至不是基于用户名的东西,但不知道是什么。

+1

我个人认为任何大小的网站都不是唯一的可见名称是一种不好的做法。 – zerkms 2011-03-03 04:27:11

+0

有点困惑你的问题!其他选项意味着什么...? – Shoban 2011-03-03 04:27:44

+0

@Shoban我的意思是一个选项是要求唯一的用户名,最后是chris123和chris132和chris321等。另一种选择是允许重复克里斯和克里斯和克里斯。在我看来,这两种选择开始让大量用户感到毛骨悚然。人们在大型网站上是否有其他选项可用于此类识别,可能根本不是用户名或用户名和其他组合。甚至不知道我知道什么。也许有人已经遇到了一个很好的选择。 – twitter 2011-03-03 04:34:17

回答

2

虽然具有不同的用户名(通常用于登录)几乎是绝对的要求,但显示别名没有任何要求是唯一的,只要有可辨别的方法来识别其他使用者的实际用户系统。这在讨论论坛中是相当普遍的做法,因为真的有很多“杰夫史密斯”在那里。例如,它使用用户的声誉并链接回其配置文件作为区分实际用户的机制。尽管登录本身,但它们必须具有唯一性。

作为addenum澄清我的评论:

天空(和你的想象)确实是关于如何唯一标识别名的限制。在标准配置文件链接之外,您可以添加其他独特的特性(如果您希望别名相对无误)。作为一些我没有看到的例子:在使用别名时使用独特的字体或颜色......蓝色sanscript杰夫史密斯不同于黄色arial杰夫史密斯(只是一个示例方法)

+0

+1但是需要唯一性登录被认识,并且唯一性识别的好处是我在问题中提出的问题,所以问题是:除了chris123,chris321之外,还有哪些其他替代方法可以唯一标识用户? ,chris231?这看起来不太好 – twitter 2011-03-03 04:50:16

+0

让用户识别自己,但添加其他独特的数据集(唯一/随机头像,声望点,指向配置文件的链接,/。style userIds)是最常见的。 – iivel 2011-03-03 05:00:47

+0

我修改了我的答案,提供了一个例子......超过了5分钟后才能发表评论,我相信它在那里会更好地体现出来。对于downvoters,请提供意见。 – iivel 2011-03-03 05:08:46

1

我遇到过这在过去与我自己的网站,我发现最好的方法是确定一个用户是通过他们的电子邮件地址。

这是一个非常简单的方法,因为它允许多个用户名(或名称,就像Facebook一样),并且您始终可以通过其数据库中的用户ID来识别唯一性,并且可以显示在网站上甚至可以显示他们的用户名,头像和可能的位置。

例如:

chris123 (AZ) - [email protected] 
chris123 (WA) - [email protected] 
chris321 (AZ) - [email protected] 
+3

+1,但我怀疑电子邮件是一个好主意,因为我可以采取chris123并添加gmail.com,yahoo.com等和垃圾邮件。 – twitter 2011-03-03 05:34:10

+0

真的没有防止的办法,就像其他网站一样。我可以在任何网站上创建自己和垃圾邮件的多个实例,包括SO(但我不会)。减少垃圾邮件数量的唯一方法是使用短信激活服务,只允许连接一个电子邮件和电话号码。回到主题,看看XBOX live,他们有独特的游戏者标签。也许最好只是坚持一些经过尝试和真实的事情,海事组织。 – Dave 2011-03-03 06:38:16

0

- >选择用户名,心不是什么好主意。 - >可能你可以去电子邮件ID和用户名。

--> best is to Generate a unique ID for every user bro. 
-1

那么,你的问题是相当模糊的,我已经编辑标题,使其更清晰。

毫无疑问如何识别的用户。如果你看看stackoverflow的用户linfo链接,你会注意到老的自动增量的唯一编号。没问题。

因此,我想你的问题是一个用户如何识别另一个用户。我认为这不是什么大不了的事情,因为碰撞非常罕见,人们可以随时通过用户声誉和身份证明知道。

1

我相信你有两个不同的问题;授权和个性化。

大多数网站将坚持使用电子邮件来唯一授权某人,因为这些已确保是唯一的。 SO使用开放认证,这意味着我很长一段时间没有为他们认证指定一个'用户名'。我的OpenID有我的电子邮件和我的密码,并处理SO的授权部分。

另一部分是个性化,如果他们愿意的话,应该肯定允许用户选择重复的名字。这需要与认证细节相关联,并且通常使用由网站专门生成的单独唯一编号完成。然后,将授权用户名和要显示的用户名链接起来。我猜想这也构成了用户存储在任何数据库结构中的主键的一部分。

如果您检查每个配置文件名称的链接,您将在url中看到一个数字,这是唯一标识您的该网站并通过号码629665twitter关联到您的电子邮件/用户名登录。您的用户页面链接为https://stackoverflow.com/users/629665/twitter

虽然我可以在网站上清楚地看到您选择的显示名称和您的唯一ID,但我不知道您的授权身份,您可以保持私密并有助于保护您的安全。

相关问题