文字
分享

WebSecurity - GeneratePasswordResetToken()




定义

GeneratePasswordResetToken() 方法生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码。


C# 和 VB 语法

1

<div> WebSecurity.GeneratePasswordResetToken(<em>userName, expiration</em>)</div>


参数

参数 类型 描述
userName String 用户名
expiration Integer 令牌到期时间,以分钟计。默认是 1440(24 小时)

返回值

类型 描述
String 一个重置令牌。

错误和异常

在下面的情况下,任何对 WebSecurity 对象的访问将抛出一个 InvalidOperationException

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

备注

如果用户已忘记密码,请使用 ResetPassword() 方法。ResetPassword() 方法要求一个密码重置令牌

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

密码可通过代码重置,但是一般过程是发送电子邮件给用户(带有令牌和指向页面的链接),这样用户就可以通过新的令牌确认新的密码:

1

<div> @{<br>newPassword = Request["newPassword"];<br> confirmPassword = Request["confirmPassword"];<br> token = Request["token"];<br>if isPost<br> {<br>     // input testing is ommitted here to save space<br>    retunValue = ResetPassword(token, newPassword); <br> }<br>}<br><h1>Change Password</h1><br><br><form method="post" action=""><br><br> <label for="newPassword">New Password:</label> <br><input type="password" id="newPassword" name="newPassword" title="New password" /><br><br><label for="confirmPassword">Confirm Password:</label> <br><input type="password" id="confirmPassword" name="confirmPassword" title="Confirm new password" /><br><br><label for="token">Pasword Token:</label> <br><input type="text" id="token" name="token" title="Password Token" /><br><br><p class="form-actions"><br><input type="submit" value="Change Password" title="Change password" /><br></p><br><br></form> </div>


技术数据

名称
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll