程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET Web Pages WebSecurity 參考手冊

ASP.NET Web Pages WebSecurity 參考手冊

編輯:ASP.NET基礎

ASP.NET 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

lamp 雖然 true 表示自動創建數據庫 ,但是數據庫不會被自動創建。所以數據庫必須存在。

WebSecurity 數據庫

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

UserId Email 1 [email protected] 2 [email protected] 3 [email protected]

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

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

User
Id Create
Date Confirmation
Token Is
Confirmed Last
Password
Failure Password Password
Change 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>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved