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