WebSecurity - GeneratePasswordResetToken()
❮ WebSecurity
Definition(定义)
GeneratePasswordResetToken() 方法生成一个密码重置令牌,可以将其通过电子邮件发送给用户。
C# 和 VB 语法
WebSecurity.GeneratePasswordResetToken(userName, expiration)
参数
参数 | 类型 | 描述 |
---|---|---|
userName | 字符串 | 用户名 |
expiration | 整数 | 令牌过期的时长(分钟)。默认值为 1440(24 小时) |
返回值
类型 | 描述 |
---|---|
字符串 | 重置令牌。 |
错误和异常
如果以下任一情况发生,则对 WebSecurity 对象的任何访问都会引发 InvalidOperationException:
- 尚未调用 InitializeDatabaseConnection() 方法
- SimpleMembership 未初始化(或在网站配置中禁用)
备注
如果用户忘记了密码,请使用 ResetPassword() 方法。ResetPassword() 方法需要一个密码重置令牌。
可以使用 CreateAccount()、CreateUserAndAccount() 或 GeneratePasswordResetToken() 方法创建确认令牌。
密码可以通过代码重置,但通常的做法是向用户发送电子邮件(包含令牌和页面链接),以便他们可以使用新令牌确认新密码
@{
newPassword = Request["newPassword"];
confirmPassword = Request["confirmPassword"];
token = Request["token"];
if IsPost
{
// 为节省空间,此处省略了输入测试
retunValue = ResetPassword(token, newPassword);
}
}
<h1>更改密码</h1>
<form method="post" action="">
<label for="newPassword">新密码:</label>
<input type="password" id="newPassword" name="newPassword" title="新密码" />
<label for="confirmPassword">确认密码:</label>
<input type="password" id="confirmPassword" name="confirmPassword" title="确认新密码" />
<label for="token">密码令牌:</label>
<input type="text" id="token" name="token" title="密码令牌" />
<p class="form-actions">
<input type="submit" value="更改密码" title="更改密码" />
</p>
</form>
❮ WebSecurity