Login 防止重复登录记录

Login 防止重复登录记录,login,duplicates,Login,Duplicates,我们有大量用户很少使用我们的web应用程序(即,他们不是每天或每周访问)。因此,他们经常: 忘记他们使用的密码 忘记他们在注册或注册时使用的电子邮件 自上次登录后,他们的电子邮件地址可能发生了更改 通常,当面对登录注册表单时,他们只需使用新的/不同的电子邮件地址创建一个新的登录记录 这是一个问题,因为他们必须与以前的记录保持链接,如果数据库中有一个人的重复记录,这可能会导致问题(请注意,从数据库的角度来看,这些记录不是重复的;从数据的角度来看,它们根本不是重复的,但它们是重复的,因为它们指向

我们有大量用户很少使用我们的web应用程序(即,他们不是每天或每周访问)。因此,他们经常:

  • 忘记他们使用的密码
  • 忘记他们在注册或注册时使用的电子邮件
  • 自上次登录后,他们的电子邮件地址可能发生了更改
通常,当面对登录注册表单时,他们只需使用新的/不同的电子邮件地址创建一个新的登录记录

这是一个问题,因为他们必须与以前的记录保持链接,如果数据库中有一个人的重复记录,这可能会导致问题(请注意,从数据库的角度来看,这些记录不是重复的;从数据的角度来看,它们根本不是重复的,但它们是重复的,因为它们指向一个真实的人)

现在,我有一个检查,看看是否已经有人姓首字母,并要求他们确认他们是否是这些人中的一员。显然,这是非常笨拙的,在处理非常常见的名字时会失败。此外,向用户显示一个页面,上面说,“我想你实际上是另一个人。请告诉我你是不是这个人。”


我想听听其他解决这个问题的开发人员的意见,以及他们的想法。我还对优雅地合并两个登录名的解决方案感兴趣。

如果用户输入了数据库中已有的重复用户名或电子邮件地址,您可以很容易地阻止用户注册。您可以向用户发送一个页面,要求他们恢复现有帐户的密码。如果用户要使用不同的用户名和电子邮件注册,我认为在这一点上,阻止用户创建另一个帐户可能是您无法控制的(除非您从用户处收集某种唯一标识符)(例如,社会保险号码等)。我不会根据姓名进行任何过滤,因为它永远不会100%工作


否则,可能一个简单的UI更改也有助于缓解问题(例如,“返回用户?登录”)。确保用户看到他们可以使用现有帐户登录,并在该屏幕上确保用户可以轻松看到,如果他们记不住,他们可以恢复帐户信息。

是的,我同意很容易防止重复的电子邮件和用户名,我的系统已经这样做了。这也非常清楚,人们的应该登录,而不是创建一个新帐户——事实上,这是默认行为,他们需要选中“否,我没有登录”单选按钮才能创建帐户。我认为主要的问题是,由于网站使用频率太低,人们根本忘了他们是否有帐户。