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