WebSecurity - GeneratePasswordResetToken()
定义
GeneratePasswordResetToken() 方法生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码。
C# 和 VB 语法
WebSecurity.GeneratePasswordResetToken(userName, expiration)
参数
参数
|
类型
|
描述
|
userName
|
String
|
用户名
|
expiration
|
Integer
|
令牌到期时间,以分钟计。默认是 1440(24 小时)
|
返回值
错误和异常
在下面的情况下,任何对 WebSecurity 对象的访问将抛出一个 InvalidOperationException:
-
InitializeDatabaseConnection() 方法没有被调用
-
SimpleMembership 没有初始化(或者在网站配置中禁用)
备注
如果用户已忘记密码,请使用 ResetPassword() 方法。ResetPassword() 方法要求一个密码重置令牌。
确认令牌可通过 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>
技术数据
名称
|
值
|
Namespace
|
WebMatrix.WebData
|
Assembly
|
WebMatrix.WebData.dll
|