最新的Web開發教程
 

ASP.NET網頁 - WebSecurity對象


描述

WebSecurity對象提供安全和認證的ASP.NET網頁應用程序。

隨著WebSecurity對象,您可以創建用戶帳戶,登錄和註銷用戶重設或更改密碼等。


WebSecurity對象參考 - 屬性

屬性 描述
CurrentUserId 獲取ID為當前用戶
CurrentUserName 獲取當前用戶的名稱
HasUserId 如果當前有一個用戶ID,則返回true
IsAuthenticated 如果當前用戶登錄,則返回true

WebSecurity對象參考 - 方法

方法 描述
ChangePassword() 為用戶更改密碼
ConfirmAccount() 確認了使用確認令牌的賬戶
CreateAccount() 創建一個新的用戶帳戶
CreateUserAndAccount() 創建一個新的用戶帳戶
GeneratePasswordResetToken() 生成可通過電子郵件發送給用戶作為一個令牌
GetCreateDate() 獲取創建指定成員的時間
GetPasswordChangeDate() 當獲取密碼已更改日期和時間
GetUserId() 從用戶名獲取一個用戶ID
InitializeDatabaseConnection() 初始化WebSecurity系統(database)
IsConfirmed() 檢查如果用戶確認
IsCurrentUser() 如果當前用戶相匹配的用戶名檢查
Login() 通過在cookie設置令牌的用戶登錄中
Logout() 通過移除標記餅乾註銷用戶
RequireAuthenticatedUser() 退出頁面,如果用戶不是認證用戶
RequireRoles() 退出頁面,如果用戶不指定角色的一部分
RequireUser() 退出頁面,如果用戶不是指定的用戶
ResetPassword() 更改使用令牌的用戶的密碼
UserExists() 如果給定的用戶存在檢查

技術數據

名稱
WebMatrix.WebData.WebSecurity
命名空間 WebMatrix.WebData
部件 WebMatrix.WebData.dll

初始化WebSecurity數據庫

您必須創建或初始化WebSecurity數據庫之前,你可以在你的代碼中使用WebSecurity對象。

在您的網站的根目錄,創建一個頁面(or edit the page )命名_AppStart.cshtml。

將下面的代碼文件中:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}

上面的代碼將每個網站時運行(application)啟動。 它初始化WebSecurity數據庫。

“用戶”是WebSecurity數據庫的名稱(Users.sdf)

“用戶配置”是包含用戶配置文件信息的數據庫表的名稱。

“用戶ID”是包含用戶ID的列的名稱(primary key)

“電子郵件”是一個包含用戶名的列名。

最後一個參數是表示,如果自動它們不存在用戶配置文件和成員表應該創建一個布爾值,否則為false。

雖然true表示自動創建數據庫表,數據庫本身不會被自動創建。 它必須存在。


該WebSecurity數據庫

用戶配置表包含每個用戶的一個記錄,一個用戶ID (primary key)和用戶名(email)

用戶名 電子郵件
1 [email protected]
2 [email protected]
3 [email protected]

會員表將包含用戶創建時左右,如果會員信息(and when)成員證實。

就像這樣(some columns are not shown)

用戶
ID
創建
日期
確認
代幣

確認
持續
密碼
失敗
密碼 密碼
更改
1 12.04.2012 16點12分17秒 空值 真正 空值 AFNQhWfy .... 12.04.2012 16點12分17秒

注意:如果你想看到所有列和所有內容,與WebMatrix中打開數據庫並查看每個表內。


簡單的成員配置

你可能會使用WebSecurity對象,如果您的網站未配置為使用ASP.NET網頁會員制SimpleMembership出現錯誤。

如果託管服務提供商的服務器不是本地服務器配置不同會發生這種情況。 為了解決這個問題,下面的元素添加到網站的Web.config文件中:

<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>