WebSecurity - ResetPassword()
WebSecurity 對象
定義
ResetPassword() 方法使用密碼令牌重置用戶密碼。
C# 和 VB 語法
WebSecurity.ResetPassword(passwordResetToken,newPassword)
參數(shù)
參數(shù) | 類型 | 描述 |
passwordResetToken | String | 密碼令牌 |
newpassword | String | 新密碼 |
返回值
類型 | 描述 |
Boolean | 如果密碼已更改,則返回 true,否則返回 false。 |
錯誤和異常
在下面的情況下,任何對 WebSecurity 對象的訪問將拋出一個 InvalidOperationException:
- InitializeDatabaseConnection() 方法沒有被調(diào)用
- SimpleMembership 沒有初始化(或者在網(wǎng)站配置中禁用)
備注
如果用戶已忘記密碼,請使用 ResetPassword 方法。
ResetPassword 方法要求一個密碼重置令牌。
確認(rèn)令牌可通過 CreateAccount()、 CreateUserAndAccount() 或 GeneratePasswordResetToken() 方法創(chuàng)建。
密碼可通過代碼重置,但是一般過程是發(fā)送電子郵件給用戶(帶有令牌和指向頁面的鏈接),這樣用戶就可以通過新的令牌確認(rèn)新的密碼:
@{
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>
技術(shù)數(shù)據(jù)
名稱 | 值 |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
WebSecurity 對象
更多建議: