首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 自訂安全憑證管理系統理論篇:Provider 架構與 Membership 類別詳解

     編輯:關於ASP.NET

ASP.NET 2.0 憑證基礎建設概覽

採用 Provider Model 解耦應用程式與儲存實作:

  • MembershipProvider:管理使用者 (建立、驗證、密碼重設、鎖定/解鎖)。
  • RoleProvider:管理角色 (建立、刪除、使用者加入/移除角色)。
  • 內建 Provider:SqlMembershipProvider (SQL Server)、ActiveDirectoryMembershipProvider、WindowsTokenRoleProvider。

每個使用者/角色隸屬單一 ApplicationName,支援多應用程式共用資料庫不衝突。

靜態輔助類別:Membership 與 Roles

開發者幾乎不直接操作 Provider,而是透過靜態類別:

Membership.CreateUser(username, password, email);
Membership.ValidateUser(username, password);
MembershipUser user = Membership.GetUser(username);
Roles.AddUserToRole(username, roleName);

設定檔 <membership defaultProvider="..."> 指定實際 Provider,預設為 SQL Server (aspnetdb)。

MembershipUser 核心成員

  • 屬性:UserName、Email、IsApproved、IsLockedOut、LastLoginDate、CreationDate。
  • 方法:ChangePassword、GetPassword、ResetPassword、UnlockUser。

安裝 SQL Server 憑證資料庫

執行 aspnet_regsql.exe (位於 %WINDIR%\Microsoft.NET\Framework\) 建立 aspnetdb,含資料表、預存程序、檢視表,支援完整 Membership/Roles/Profile/Web Parts 功能。

擴充動機:跨應用程式集中管理

預設僅能透過 Visual Studio 管理本機應用程式的憑證。企業級需求:單一管理主控台管理多個 Web 應用、Web Service、WinForm 應用的使用者/角色,故需 Web Service 包裝 Provider 並建立獨立管理客戶端。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved