Sie sind nicht in der Lage, das Passwort zu ändern, wenn der requiresQuestionAndAnswer = "true"
ich die Arbeit um erhielt diese für
Erstellt zwei Mitgliedschaftsanbieter in web.config
Ich benutze den AspNetSqlMembershipProviderReset-Provider zum Zurücksetzen des Passworts, da es den RequiresQuestionAndAnswer = false hat, wobei AspNetSqlMembershipProvider der Standardanbieter ist, der verwendet wird.
Ich schrieb den folgenden Code, um das Passwort für den Benutzer zurückzusetzen.
public bool ResetUserPassword (String psUserName, String psNewPassword) { versuchen { // Mitgliedschaft Benutzerdaten mit den erforderlichen Frage Antwort auf false gesetzt mit secound Mitgliedschaft Anbieter.
MembershipUser currentUser = Membership.Providers["AspNetSqlMembershipProviderReset"].GetUser(psUserName,false);
//Reset the user password.
String vsResetPassword = currentUser.ResetPassword();
//Change the User password with the required password
currentUser.ChangePassword(vsResetPassword, psNewPassword);
//Changed the comments to to force the user to change the password on next login attempt
currentUser.Comment = "CHANGEPASS";
//Check if the user is locked out and if yes unlock the user
if (currentUser.IsLockedOut == true)
{
currentUser.UnlockUser();
}
Membership.Providers["AspNetSqlMembershipProviderReset"].UpdateUser(currentUser); return true;
}
catch (Exception ex)
{
throw ex;
return false;
}
}
sollten Sie Ihre Frage trennen und eine Antwort hinzufügen. –
@mcqwerty, jetzt haben wir Ihre Antwort getrennt, sollten Sie Ihre eigene Antwort "akzeptieren" – harriyott
Netter Job, habe ich dies mit unserer Version des ChangePassword-Steuerelement (Admin Passwort für die Benutzer ändern);) – CheGueVerra