3

如何为忘记密码和密码重置问题答案的用户重置密码?我正在使用 ASP.Net 会员资格。

4

2 回答 2

5

假设您在Web.config中的成员资格提供程序(“AspNetSqlMembershipProvider”)具有requiresQuestionAndAnswer="true",请使用除requiresQuestionAndAnswer="false".

然后,您可以创建一个明确使用第二个提供程序的操作,以允许管理员重置密码,而无需正确回答安全问题,如以下代码段所示:

var provider = Membership.Providers["AspNetSqlMembershipProviderAdministrativeReset"] as MembershipProvider;
var newPassword = provider.ResetPassword(userName, null /* answer */);
于 2011-04-07T02:32:25.840 回答
1

在您网站的管理页面中,您可以通过首先获取用户来简单地重置密码:

// Assume user name is 'theuser'.  Obviously you would get this beforehand
MembershipUser user = Membership.GetUser("theuser");
string newPassword = user.ResetPassword();

您现在将在“newPassword”中拥有自动生成的密码。您可以通过电子邮件将其发送给用户。

还有其他方法可以实现这一点。会员数据库非常开放,因此您可以想出输入系统来自己获取所需的新密码并将散列值放入其中。如果您需要更多详细信息,请发表评论。这并不难。

于 2011-09-27T17:53:13.760 回答