2010-07-06 47 views
1

我正在使用asp.net的内置成员资格提供程序与安全问题和答案启用密码恢复对SQL Server 2005分贝。对于一些用户来说,这工作正常,他们能够接收他们的密码。对于其他人而言,目前还不清楚将两组分开的是什么,安全答案从未得到妥善处理。无论答案是正确还是不正确,页面只是在不确认或拒绝请求的情况下重新加载。asp.net会员不发送登录提醒

至于事件,正在触发VerifyingAnswer,但不是AnswerLookupError(如果回答不正确)或SendingMail(如果回答正确)。我在一个实例中运行了一条SQL跟踪,并调用了aspnet_Membership_GetUserByName存储过程,但之后没有其他任何操作被调用。我期望aspnet_Membership_GetPassword将被调用,它将安全答案作为参数传递,但事实并非如此。

+0

发布您的更新作为答案并接受它。这将完成SO工作流程并使具有相同问题的其他人轻松识别您的解决方案。 – 2010-07-18 00:49:19

回答

0

更新:我能解决这个问题。就我而言,我正在捕捉事件,并使用来自提出请求的用户的其他来源(即非会员数据库)的电子邮件地址。问题是,如果在相应的asp.net成员资格记录中没有电子邮件地址,即使我不依赖它,PasswordRecovery控件也会阻塞扼流圈。

我想我以前没有意识到这一点的原因是因为我会预料到输入用户名后立即触发问题的要求,而不是另外提示用户回答安全问题。我通过在每个会员记录中粘贴电子邮件地址来解决问题。