No son capaces de cambiar la contraseña si el requiresQuestionAndAnswer = "true"
me dieron el trabajo en torno a este
Creado dos proveedores de pertenencia en web.config
estoy usando el proveedor AspNetSqlMembershipProviderReset para restablecer la contraseña ya que tiene la requiresQuestionAndAnswer = false donde AspNetSqlMembershipProvider es el proveedor predeterminado utilizado.
escribí el siguiente código para restablecer la contraseña para el usuario.
ResetUserPassword public bool (String psUserName, Cadena psNewPassword) { tratar { // obtener los detalles del usuario de suscripción mediante proveedor de pertenencia secound con la respuesta de las preguntas requerida se pone a falso.
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;
}
}
debe separar su pregunta y agregar una respuesta. –
@mcqwerty, ahora que hemos separado su respuesta, debe "aceptar" su propia respuesta – harriyott
Buen trabajo, lo hice con nuestra versión del control ChangePassword (contraseña de administrador para los usuarios);) – CheGueVerra