网络安全 - ResetPassword()


❮ 网络安全

定义

ResetPassword() 方法使用密码令牌重置用户密码。


C# 和 VB 语法

WebSecurity.ResetPassword(passwordResetToken,newPassword)

参数

参数 类型 描述
passwordResetToken String 密码令牌
newpassword String 新密码

返回值

类型 描述
Boolean true 如果密码已更改,否则 false

错误和异常

在以下情况下,对 WebSecurity 对象的任何访问都会引发 InvalidOperationException:

  • InitializeDatabaseConnection()方法没有被调用
  • SimpleMembership 未初始化(或在网站配置中禁用)

备注

如果用户忘记了密码,请使用 ResetPassword 方法。

ResetPassword 方法需要密码reset token

可以通过 CreateAccount()CreateUserAndAccount()GeneratePasswordResetToken() 方法创建确认令牌。

密码可以通过代码重置,但常见的过程是向用户发送一封电子邮件(带有令牌和页面链接),以便他可以使用新令牌确认新密码:

@{
newPassword = Request["newPassword"];
confirmPassword = Request["confirmPassword"];
token = Request["token"];
if IsPost
{
    // input testing is ommitted here to save space
   retunValue = ResetPassword(token, newPassword);
}
}
<h1>Change Password</h1>

<form method="post" action="">

<label for="newPassword">New Password:</label>
<input type="password" id="newPassword" name="newPassword" title="New password" />

<label for="confirmPassword">Confirm Password:</label>
<input type="password" id="confirmPassword" name="confirmPassword" title="Confirm new password" />

<label for="token">Pasword Token:</label>
<input type="text" id="token" name="token" title="Password Token" />

<p class="form-actions">
<input type="submit" value="Change Password" title="Change password" />
</p>

</form>

❮ 网络安全