Asp.net 如果您没有';你不知道当前的密码吗?
问题是,没有方法:Asp.net 如果您没有';你不知道当前的密码吗?,asp.net,membership-provider,Asp.net,Membership Provider,问题是,没有方法: bool ChangePassword(string newPassword); 你必须知道当前密码(可能是散列和遗忘的)。这是一个简单的密码,我浪费了太多时间。希望这篇文章能让其他人免去像我一样用力拍打他们额头的痛苦 解决方案中,随机重置密码并将其传递到更改方法中 MembershipUser u = Membership.GetUser(); u.ChangePassword(u.ResetPassword(), "myAwesomePassword"); 如果req
bool ChangePassword(string newPassword);
你必须知道当前密码(可能是散列和遗忘的)。这是一个简单的密码,我浪费了太多时间。希望这篇文章能让其他人免去像我一样用力拍打他们额头的痛苦 解决方案中,随机重置密码并将其传递到更改方法中
MembershipUser u = Membership.GetUser();
u.ChangePassword(u.ResetPassword(), "myAwesomePassword");
如果requiresQuestionAndAnswer=“true”,则无法更改密码 我有这方面的工作 在web.config中创建了两个成员资格提供程序 我正在使用AspNetSqlMembershipProviderReset提供程序重置密码,因为它具有requiresQuestionAndAnswer=false,其中AspNetSqlMembershipProvider是使用的默认提供程序 我编写了以下代码来重置用户的密码 public bool ResetUserPassword(字符串psUserName、字符串psNewPassword) { 尝试 { //使用secound会员资格提供程序获取会员资格用户详细信息,所需问题答案设置为false
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;
}
}
嘿,来吧。不要因为回答自己的问题而投反对票。FAQ鼓励这样做。请看反对票(不是我!)是在答案被移到这里之前。之前它说答案在问题中。我不太喜欢投票否决那些刚刚加入的人-最好是编辑来帮助他们。是的,他也得到了漂亮的徽章!!@Harryyott doh…我想下次我们中的一个人应该留下一条评论,表明我们正在编辑…所以我们不会浪费时间做同样的事情。在找到这个答案之前,我浪费了很多时间,谢谢。你应该把你的问题分开并添加一个答案。@mcqwerty,现在我们已经把你的答案分开了,你应该“接受”你自己的答案很好,我用我们版本的ChangePassword控件(管理员为用户更改密码)做到了这一点再来一次,他得到了一枚徽章…@Harryyott上次我试过了,你不能接受你自己的答案。