更改密码而不在Web管理工具中输入旧密码

时间:2009-10-05 09:25:53

标签: asp.net

有机会更改为登录创建的用户的密码而不询问旧密码。通过网站管理工具创建的用户管理。

2 个答案:

答案 0 :(得分:4)

我相信你只能通过编程方式完成。步骤进行:

首先编辑web.config以启用密码重置,如下所示:

<?xml version="1.0"?>
<membership defaultProvider="MySqlMembershipProvider">
  <providers>
    <clear />
    <add name="MySqlMembershipProvider" connectionStringName="...." applicationName="..."
    enablePasswordReset="true"
    type="System.Web.Security.SqlMembershipProvider" />
  </providers>
</membership>

然后编写一些代码,首先重置密码,从而获得临时密码,然后使用此临时密码更改为“最终”密码:

MembershipUser aspNetUser = Membership.GetUser(username);
string tempPassword = aspNetUser.ResetPassword()
aspNetUser.ChangePassword(tempPassword, newPassword)

答案 1 :(得分:2)

我尝试了@Guido解决方案并且没有工作(方法ResetPassword没有提供支持异常)。我做了什么:

        string tmptoken = WebSecurity.GeneratePasswordResetToken("UserName");
        WebSecurity.ResetPassword(tmptoken , "newPassword");