2011-10-03 140 views
1

应用程序当前状态 我们目前获得了庞大的用户群,并且从第一天开始需要这样一个必需的电子邮件=“假”设置。 所以我们的密码恢复是通过UserName完成的。ASP.Net会员密码恢复

问题/问题 突然间企业希望通过用户名或电子邮件进行密码恢复。但是,我们从来没有在系统中使用独特的电子邮件(在少数情况下没有电子邮件),我们在系统中有不少重复的电子邮件。例如,[email protected]分配给10个不同的用户名。

如何以最佳方式解决这种情况? 我一直在想,如果用户通过电子邮件选择,我会继续并发送与此电子邮件关联的所有用户名。这是一个很好的选择吗?

想在此有更多的想法。我相信以前有人应该有这样的问题。

+0

“我一直在想,如果用户通过电子邮件选择,我会继续发送与此电子邮件相关的所有用户名,这是一个不错的选择吗?”让用户为其他用户的帐户启用密码恢复是一个很好的选择吗?不,这不是一个好主意。 –

回答

0

当帐户设置时,它是否发送验证电子邮件以确保人们只使用他们拥有的电子邮件地址进行订阅?如果是这样,那么你可以发送所有用户名的安全,在电子邮件的所有者知识创造他们。如果你不需要验证,那么任何人都可以获得电子邮件并阅读他人的帐户。

+0

基本上,我们将使用提供的电子邮件地址(在密码恢复期间)在数据库中搜索用户,然后将有关用户名凭据的电子邮件发送到提供的电子邮件地址。 – DotNetInfo

0

您可以使用电子邮件缩小到单个用户名恢复范围。例如:

Given a set of 10 usernames with the same email "[email protected]" 
When I click "Recover Password By Email" 
And I enter "[email protected]" 
Then I should see the message "select which username you want to recover" 
And I should see a list of the 10 usernames 

When I click on the username "username1" 
Then I should receive a password recovery email for the "username1" account 
     at the "[email protected]" address 

这样,你仍然在做的用户名恢复,但只有当电子邮件有超过1轮的比赛。

我不喜欢将密码恢复发送给所有用户名的想法。用户可能只会忘记一个密码​​。

+0

让用户选择要恢复的密码是*仍然*有问题,但是,不是吗? –