对于一个网站,我希望用户能够使用他们的唯一用户名或电子邮件地址登录。然而,该网站可能允许使用相同电子邮件地址的多个用户账户(例如,他们可能是为两个不同公司工作的同一个人等)。此外,出于业务原因,每个用户账户仅与一个公司相关联。因此,如果用户为多个公司工作,则需要为每个公司登录一次。
以下是处理用户使用电子邮件地址登录时的几种可能方式:
如果有多个账户与电子邮件地址匹配,并且密码(当然是哈希过的)与至少一个拥有此地址的账户的密码匹配,则执行以下操作之一:
A. 告诉用户,他们的电子邮件地址与多个账户相关联,因此他们需要使用用户名进行登录。
或者
B. 与A相同,但是如果密码恰好与一个账户的密码匹配,则只接受并登录该账户。
我想采用B。但是,使用密码来区分两个账户似乎可能存在一些明显的安全缺陷(我可能忽略了某些问题),甚至还可能存在一些非明显的问题。
这是否是一个好的解决方案,或者有没有广泛接受的“最佳实践”?
以下是处理用户使用电子邮件地址登录时的几种可能方式:
如果有多个账户与电子邮件地址匹配,并且密码(当然是哈希过的)与至少一个拥有此地址的账户的密码匹配,则执行以下操作之一:
A. 告诉用户,他们的电子邮件地址与多个账户相关联,因此他们需要使用用户名进行登录。
或者
B. 与A相同,但是如果密码恰好与一个账户的密码匹配,则只接受并登录该账户。
我想采用B。但是,使用密码来区分两个账户似乎可能存在一些明显的安全缺陷(我可能忽略了某些问题),甚至还可能存在一些非明显的问题。
这是否是一个好的解决方案,或者有没有广泛接受的“最佳实践”?