【发布时间】:2012-02-26 09:38:59
【问题描述】:
我目前使用默认会员提供程序运行 MVC2 网站。一切都很好,但现在我发现需要忘记密码功能。
经过一番谷歌搜索后,我能找到的唯一好的实现是基于使用机器密钥来确保安全性或问答功能。
这些实现的问题是我已经拥有相当大的用户群。我现在无法将密码换成机器密钥,因为我已经在使用哈希系统了。
passwordFormat="Hashed"
我也不想强迫现有用户在事后添加问题和答案。问答也不太理想,好像他们也忘记了这些信息,他们运气不好。
我理想的实现是用户点击忘记密码,输入他们的用户名或电子邮件(最好是电子邮件)。然后,他们将收到一封电子邮件,其中包含他们当前的密码(我相信这对于我使用的哈希方法是不可能的)、一个他们被告知要更改的新随机密码,或者一个带有令牌的链接,可以让他们在点击后重置密码它。
有没有什么好的指南可以快速做到这一点?我能找到的一切要么与使用机器密钥方法有关,要么与问答有关。我很惊讶我找不到任何东西,因为这是非常常见的网络功能。我很惊讶它甚至不是 MVC 附带的默认会员提供程序的一部分。
我意识到令牌是最安全的,其次是随机密码,但现在我对这三种情况都持开放态度。
如果您需要更多信息,请告诉我。
【问题讨论】:
标签: c# asp.net asp.net-mvc