网络安全 - GeneratePasswordResetToken()
❮ 网络安全
定义
GeneratePasswordResetToken() 方法生成密码重置令牌,可以通过电子邮件发送给用户。
C# 和 VB 语法
WebSecurity.GeneratePasswordResetToken(userName, expiration)
参数
参数 | 类型 | 描述 |
---|---|---|
userName | String | 用户名 |
expiration | Integer | 令牌过期前的时间(以分钟为单位)。 默认为 1440(24 小时) |
返回值
类型 | 描述 |
---|---|
String | 重置令牌。 |
错误和异常
在以下情况下,对 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>
❮ 网络安全