一、與session的不同點
Membership 一般指用微軟的aspnetdb數(shù)據(jù)庫來進(jìn)行身份認(rèn)證
Session是指網(wǎng)站用戶的會話信息
二、Membership 類提供的功能可用于:
1.創(chuàng)建新用戶。
2.將成員資格信息(用戶名、密碼、電子郵件地址及支持?jǐn)?shù)據(jù))存儲在 Microsoft SQL Server 或其他類似的數(shù)據(jù)存儲區(qū)。
3.對訪問網(wǎng)站的用戶進(jìn)行身份驗證??梢砸跃幊谭绞綄τ脩暨M(jìn)行身份驗證,也可以使用 Login 控件創(chuàng)建一個只需很少代碼或無需代碼的完整的身份驗證系統(tǒng)。
4.管理密碼,包括創(chuàng)建、更改、檢索和重置密碼等等??梢赃x擇配置 ASP.NET 成員資格以要求一個密碼提示問題及其答案來對忘記密碼的用戶的密碼重置和檢索請求進(jìn)行身份驗證。
雖然 ASP.NET 成員資格是 ASP.NET 中用來進(jìn)行身份驗證的獨(dú)立功能,但它可以與 ASP.NET 角色管理集成來為站點提供授權(quán)服務(wù)。成員資格還可以與 ASP.NET 用戶的 System.Web.Profile 集成,以提供可為各個用戶量身訂做的特定于應(yīng)用程序的自定義實現(xiàn)。有關(guān)詳細(xì)信息,請參見 了解角色管理 和 ASP.NET 配置文件屬性概述。
Membership 類依賴于成員資格提供程序與數(shù)據(jù)源通信。.NET Framework 包括一個 SqlMembershipProvider(將用戶信息存儲在 Microsoft SQL Server 數(shù)據(jù)庫中)和一個 ActiveDirectoryMembershipProvider(允許在 Active Directory 或 Active Directory 應(yīng)用程序模式 (ADAM) 服務(wù)器上存儲用戶信息)。還可以實現(xiàn)一個自定義成員資格提供程序與可由 Membership 類使用的其他類似的數(shù)據(jù)源進(jìn)行通信。自定義成員資格提供程序?qū)⒗^承 MembershipProvider 抽象類。有關(guān)更多信息,請參見 實現(xiàn)成員資格提供程序。
默認(rèn)情況下,ASP.NET 成員資格可支持所有 ASP.NET 應(yīng)用程序。默認(rèn)成員資格提供程序為 SqlMembershipProvider 并在計算機(jī)配置中以名稱 AspNetSqlProvider 指定。SqlMembershipProvider 的默認(rèn)實例配置為連接到 Microsoft SQL Server 的一個本地實例。
可以通過修改默認(rèn)設(shè)置將一個非 AspNetSqlProvider 實例的 SqlMembershipProvider 指定為默認(rèn)提供程序,或使用 Web.config 文件將自定義提供程序的實例指定為 ASP.NET 應(yīng)用程序的默認(rèn)提供程序。可以使用 Web.config 文件中 membership 配置節(jié)來為 Web 應(yīng)用程序指定 ASP.NET 成員資格配置。可以使用 membership 節(jié)的 providers 子節(jié)來指定默認(rèn)提供程序之一以外的成員資格提供程序。例如,下面的 membership 節(jié)從當(dāng)前應(yīng)用程序配置中移除默認(rèn)成員資格提供程序并添加一個名為 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 應(yīng)用程序中,Membership 類用于驗證用戶憑據(jù)并管理用戶設(shè)置(如密碼和電子郵件地址)。Membership 類可以獨(dú)自使用,或者與 FormsAuthentication 一起使用以創(chuàng)建一個完整的 Web 應(yīng)用程序或網(wǎng)站的用戶身份驗證系統(tǒng)。Login 控件封裝了 Membership 類,從而提供一種便捷的用戶驗證機(jī)制。
2025國考·省考課程試聽報名