當前位置:
首頁 > 知識 > Web Pages WebSecurity 對象

Web Pages WebSecurity 對象

描述

WebSecurity 對象提供 ASP.NET Web Pages 應用程序的安全性和認證。

通過 WebSecurity 對象,您可以創建用戶帳戶,登錄和註銷用戶,重置或者更改密碼,以及其他更多與安全性相關的功能。



WebSecurity 對象參考手冊 - 屬性


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

WebSecurity 對象參考手冊 - 方法


方法 描述
ChangePassword() 為指定的用戶更改密碼。
ConfirmAccount() 使用帳戶確認令牌確認帳戶。
CreateAccount() 創建一個新的用戶帳戶。
CreateUserAndAccount() 創建一個新的用戶帳戶。
GeneratePasswordResetToken() 生成一個密碼重置令牌,可以在電子郵件中發送給用戶以便用戶可以重設密碼。
GetCreateDate() 獲取指定會員創建的時間。
GetPasswordChangeDate() 獲取密碼變更的日期和時間。
GetUserId() 根據用戶名稱獲取用戶 ID。
InitializeDatabaseConnection() 初始化 WebSecurity 系統(資料庫)。
IsConfirmed() 檢查用戶是否已被確認。如果已確認,則返回 true。(例如,可通過電子郵件進行確認。)
IsCurrentUser() 檢查當前用戶的名稱是否與指定用戶名匹配。如果匹配,則返回 true。
Login() 設置身份驗證令牌,登錄用戶。
Logout() 移除身份驗證令牌,註銷用戶。
RequireAuthenticatedUser() 如果用戶未通過身份驗證,則設置 HTTP 狀態為 401(未經授權)。
RequireRoles() 如果當前用戶不是指定角色的成員,則設置 HTTP 狀態為 401(未經授權)。
RequireUser() 如果當前用戶不是指定用戶名的用戶,則設置 HTTP 狀態為 401(未經授權)。
ResetPassword() 如果密碼重置令牌是有效的,改變用戶的密碼為新密碼。
UserExists() 檢查指定的用戶是否存在。



技術數據


名稱
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll



初始化 WebSecurity 資料庫

如果您想在您的代碼中使用 WebSecurity 對象,首先您必須創建或者初始化 WebSecurity 資料庫。

在您的 Web 根目錄下,創建一個名為 _AppStart.cshtml 的頁面(如果已存在,則直接編輯頁面)。

將下面的代碼複製到文件中:

_AppStart.cshtml

@{

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

}

上面的代碼將在每次網站(應用程序)啟動時運行。它初始化了 WebSecurity 資料庫。

"Users" 是 WebSecurity 資料庫(Users.sdf)的名稱。

"UserProfile" 是包含用戶配置信息的資料庫表的名稱。

"UserId" 是包含用戶 ID(主鍵)的列的名稱。

"Email" 是包含用戶名的列的名稱。

最後一個參數 true 是一個布爾值,表示如果用戶配置表和會員表不存在,則會自動創建表。如果不想自動創建表,應設置參數為 false

Web Pages WebSecurity 對象



WebSecurity 資料庫

UserProfile 表為每個用戶創建保存一條記錄,用戶 ID(主鍵)和用戶名字(email):

雖然

true

表示自動創建資料庫

,但是資料庫不會被自動創建。所以資料庫必須存在。


UserId Email
1 john@johnson.net
2 peter@peterson.com
3 lars@larson.eut

Membership 表包含會員信息,比如用戶是什麼時候創建的,該會員是否已認證,會員是什麼時候認證的,等等。

具體如下所示(一些列不顯示):


UserId CreateDate ConfirmationToken IsConfirmed LastPasswordFailure Password PasswordChange
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

注釋:如果您想看到所有的列和內容,請打開資料庫,看看裡邊的每個表。


簡單的會員配置

在您使用 WebSecurity 對象時,如果您的站點沒有配置使用 ASP.NET Web Pages 會員系統 SimpleMembership,可能會報錯。

如果託管服務提供商的伺服器的配置與您本地伺服器的配置不同,也可能會報錯。為了解決這個問題,請在網站的 Web.config 文件中添加以下元素:

<appSettings>

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

</appSettings>

Web Pages WebSecurity 對象

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

XML DOM-ProcessingInstruction 對象
ASP Folder 對象

TAG:程序員小新人學習 |