一、與session的不同點
Membership 一般指用微軟的aspnetdb數據庫來進行身份認證
Session是指網站用戶的會話信息
二、Membership 類提供的功能可用於:
1.創建新用戶。
2.將成員資格信息(用戶名、密碼、電子郵件地址及支持數據)存儲在 Microsoft SQL Server 或其他類似的數據存儲區。
3.對訪問網站的用戶進行身份驗證。可以以編程方式對用戶進行身份驗證,也可以使用 Login 控件創建一個只需很少代碼或無需代碼的完整的身份驗證系統。
4.管理密碼,包括創建、更改、檢索和重置密碼等等。可以選擇配置 ASP.NET 成員資格以要求一個密碼提示問題及其答案來對忘記密碼的用戶的密碼重置和檢索請求進行身份驗證。
雖然 ASP.NET 成員資格是 ASP.NET 中用來進行身份驗證的獨立功能,但它可以與 ASP.NET 角色管理集成來為站點提供授權服務。成員資格還可以與 ASP.NET 用戶的 System.Web.Profile 集成,以提供可為各個用戶量身訂做的特定於應用程序的自定義實現。有關詳細信息,請參見 了解角色管理 和 ASP.NET 配置文件屬性概述。
Membership 類依賴於成員資格提供程序與數據源通信。.NET Framework 包括一個 SqlMembershipProvider(將用戶信息存儲在 Microsoft SQL Server 數據庫中)和一個 ActiveDirectoryMembershipProvider(允許在 Active Directory 或 Active Directory 應用程序模式 (ADAM) 服務器上存儲用戶信息)。還可以實現一個自定義成員資格提供程序與可由 Membership 類使用的其他類似的數據源進行通信。自定義成員資格提供程序將繼承 MembershipProvider 抽象類。有關更多信息,請參見 實現成員資格提供程序。
默認情況下,ASP.NET 成員資格可支持所有 ASP.NET 應用程序。默認成員資格提供程序為 SqlMembershipProvider 並在計算機配置中以名稱 AspNetSqlProvider 指定。SqlMembershipProvider 的默認實例配置為連接到 Microsoft SQL Server 的一個本地實例。
可以通過修改默認設置將一個非 AspNetSqlProvider 實例的 SqlMembershipProvider 指定為默認提供程序,或使用 Web.config 文件將自定義提供程序的實例指定為 ASP.NET 應用程序的默認提供程序。可以使用 Web.config 文件中 membership 配置節來為 Web 應用程序指定 ASP.NET 成員資格配置。可以使用 membership 節的 providers 子節來指定默認提供程序之一以外的成員資格提供程序。例如,下面的 membership 節從當前應用程序配置中移除默認成員資格提供程序並添加一個名為 SqlProvider 的新提供程序,它連接到名為 MySqlServer 的 SQL Server 實例。
復制代碼 代碼如下:
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="SqlServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" passwordFormat="Hashed" applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
在 ASP.NET 應用程序中,Membership 類用於驗證用戶憑據並管理用戶設置(如密碼和電子郵件地址)。Membership 類可以獨自使用,或者與 FormsAuthentication 一起使用以創建一個完整的 Web 應用程序或網站的用戶身份驗證系統。Login 控件封裝了 Membership 類,從而提供一種便捷的用戶驗證機制。