如何为忘记密码和密码重置问题答案的用户重置密码?我正在使用ASP.Net会员资格。
答案 0 :(得分:5)
假设 Web.config 中的成员资格提供程序(“AspNetSqlMembershipProvider”)具有requiresQuestionAndAnswer="true"
,请使用除{之外的所有相同设置创建第二个提供程序(例如“AspNetSqlMembershipProviderAdministrativeReset”) {1}}。
然后,您可以创建一个明确使用第二个提供程序的操作,以允许管理员重置密码,而无需正确回答安全问题,如下面的代码段所示:
requiresQuestionAndAnswer="false"
答案 1 :(得分:1)
在您网站的管理页面中,您只需先暂停用户即可重置密码:
// Assume user name is 'theuser'. Obviously you would get this beforehand
MembershipUser user = Membership.GetUser("theuser");
string newPassword = user.ResetPassword();
您现在可以在'newPassword'中自动生成密码。您可以通过电子邮件将其发送给用户。
还有其他方法可以实现这一目标。会员数据库非常开放,因此您可以设置入门系统以自行获取所需的新密码并将散列值放在那里。如果您需要更多详细信息,请评论。它并不困难。