WebSecurity - GeneratePasswordResetToken() 方法
WebSecurity 对象 GeneratePasswordResetToken() 方法生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码
语法
WebSecurity.GeneratePasswordResetToken(userName, expiration)
参数
参数 | 类型 | 描述 |
---|---|---|
userName | String | 用户名 |
expiration | Integer | 令牌到期时间,以分钟计。默认是 1440(24 小时) |
返回值
类型 | 描述 |
---|---|
String | 一个重置令牌 |
错误和异常
在下面的情况下,任何对 WebSecurity 对象的访问将抛出一个 InvalidOperationException 异常
- InitializeDatabaseConnection() 方法没有被调用
- SimpleMembership 没有初始化(或者在网站配置中禁用)
说明
如果用户已忘记密码,请使用 ResetPassword() 方法
ResetPassword() 方法要求一个密码 重置令牌
确认令牌可通过 CreateAccount() 、 CreateUserAndAccount() 或 GeneratePasswordResetToken() 方法创建
密码可通过代码重置,但是一般过程是发送电子邮件给用户(带有令牌和指向页面的链接),这样用户就可以通过新的令牌确认新的密码
C#
@{ 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>
命名空间
WebMatrix.WebData
Assembly
WebMatrix.WebData.dll