我正在使用Asp.Net Forms Authentication
,我正在以Hashed
格式存储密码,我需要Question
和Answer
。我的问题是如果用户忘记会发生什么他的security question's
答案和他的password
。所以没有它我就无法生成随机password
。在这种情况下会发生什么,用户只能选择创建一个新帐户。或者我应该链接一个表来存储他的问题并以纯文本回答,然后在重置密码时传递答案。我相信你们可能已经看过很多次了。我怎么能解决这个问题。
欢迎任何建议。
感谢
答案 0 :(得分:1)
正如其他人所说,这个问题并不是一个编程问题,更多的是安全设计问题,并且在http://security.stackexchange.com中会得到更好的回答。
话虽如此,如果您网站的安全需求相对较低(不是银行级别的安全性),我认为将新密码通过电子邮件发送到您为该用户提供的电子邮件地址就足够了。如果用户能够通过他们的电子邮件提供商进行身份验证,那么他们已经证明他们自己(假设他们的电子邮件帐户没有被泄露)。这是有多少网站运作。
答案 1 :(得分:1)
如果用户不知道他/她的问题/答案,您可以随时让系统发送包含密码恢复页面链接的电子邮件。在这里你可以向他们提问他们应该根据他们创建帐户时输入的更敏感信息(他们的名字,DOB等)知道答案的问题
请注意,只有当您的网站与银行网站完全相同且且只有安全网站较低时,才应该这样做。否则请遵循Walter和AakashM的建议,并在安全论坛上发帖。
答案 2 :(得分:0)
您应该查看以下链接,我认为它会对您有所帮助。 http://www.asp.net/web-forms/tutorials/security/admin/recovering-and-changing-passwords-cs