ASP.网友忘记回答密码问题



如何为忘记密码和密码重置问题答案的用户重置密码?我用的是ASP。网会员。

假设您的会员资格提供者("AspNetSqlMembershipProvider")在Web中。configrequiresQuestionAndAnswer="true",使第二个提供程序(如"AspNetSqlMembershipProviderAdministrativeReset")具有除requiresQuestionAndAnswer="false"以外的所有相同设置。

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

var provider = Membership.Providers["AspNetSqlMembershipProviderAdministrativeReset"] as MembershipProvider;
var newPassword = provider.ResetPassword(userName, null /* answer */);

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

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

您现在将在'newPassword'中拥有自动生成的密码。你可以把这个用电子邮件发给用户。

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

最新更新