ASP.Net会员密码恢复

时间:2011-10-03 03:22:33

标签: c# asp.net asp.net-mvc asp.net-membership

当前的应用程序状态 我们目前拥有庞大的用户群,并且从第一天开始就需要UniqueEmail =“false”设置。 所以我们的密码恢复是通过UserName完成的。

问题/问题 突然,企业希望通过用户名或电子邮件进行密码恢复。但是,我们从未在系统中发送过独特的电子邮件(在极少数情况下没有电子邮件),我们在系统中发现了不少重复的电子邮件。例如,xyz@xyz.com被分配给10个不同的用户名。

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

愿意对此有更多的想法。我相信之前有人应该遇到过这类问题。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

Given a set of 10 usernames with the same email "email@domain.com"
When  I click "Recover Password By Email"
And   I enter "email@domain.com"
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@domain.com" address

这样,您仍然可以通过用户名进行恢复,但仅限于电子邮件的用户名超过1个时。

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