WebSecurity - GeneratePasswordResetToken()
❮ WebSecurity
定义
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