检索ASP.NET成员身份安全问题

时间:2011-06-16 18:04:05

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

我正在实现重置密码aspx页面,在该页面中,我正在使用向导执行以下操作。

  1. 我要求用户输入他/她的用户名,检查以确保用户名确实存在,然后再继续。
  2. 在第二个视图中,我想要求用户回答他/她的安全问题。我想显示问题并验证他们的答案是什么,如果有效,请继续第三步。 (目前,我不知道如何检索要在第二个中显示的安全问题。)
  3. 在第三个视图中,要求用户输入新密码。
  4. 即使没有旧密码,我也知道如何更改密码,但似乎无法弄清楚如何获取安全问题。

    任何人有任何想法吗?

1 个答案:

答案 0 :(得分:3)

Membership.GetUser().PasswordQuestion包含安全问题。

Membership.GetUser().ResetPassword(securityQuestionAnswer)将为用户生成新的随机密码。然后,您可以通过电子邮件发送给用户。

http://msdn.microsoft.com/en-us/library/d90zte4w.aspx

如果需要密码答案并且提供了错误的密码答案,则会员提供商会抛出MembershipPasswordException。如果您想允许用户输入密码,您可以检查以确保不抛出此异常,然后更改密码。