-
Membership
(軟件)
鎖定
- 中文名
- 會員資格;會員身份;會員全體
- 外文名
- Membership
- 相關程序
- ASP.NET
- 使用方式
- 獨自使用,與FA一起使用
- 性 質
- 便捷的用户驗證機制
- 程序集
- System.Web
Membership簡介
驗證用户憑據並管理用户設置。無法繼承此類。
命名空間:System.Web.Security
程序集:System.Web(在 system.web.dll 中)
Membership語法
Visual Basic(聲明)
Public NotInheritable Class Membership
Visual Basic(用法)
可對靜態類的成員直接進行訪問,無需類的實例。
C#
public static class Membership
C++
public ref class Membership abstract sealed
J#
public final class Membership
JScript
public final class Membership
Membership功能
Membership 類提供的功能可用於:
創建新用户。
對訪問網站的用户進行身份驗證。可以以編程方式對用户進行身份驗證,也可以使用 Login 控件創建一個只需很少代碼或無需代碼的完整的身份驗證系統。
管理密碼,包括創建、更改、檢索和重置密碼等等。可以選擇配置 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> Topic Location
演練:使用成員資格和用户登錄創建網站 (Visual Studio)
Membership示例
下面的代碼示例演示配置為使用 Forms身份驗證和 ASP.NET 成員資格的 ASP.NET 應用程序的登錄頁。如果提供的用户憑據無效,則會向用户顯示一條消息。否則,使用 RedirectFromLoginPage 方法將用户重定向到最初請求的 URL。
Membership注意
ASP.NET 登錄控件(Login、LoginView、LoginStatus、LoginName 和 PasswordRecovery)實際上封裝了提示用户輸入憑據及驗證成員資格系統中的憑據所需的所有邏輯並可以在使用 Membership 類來進行編程檢查的位置使用。
Visual Basic 複製代碼 <%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub Login_OnClick(sender As Object, args As EventArgs) If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked) Else Msg.Text = "Login failed. Please check your user name and password and try again." End If End Sub </script> <html> <head> <title>Login</title> </head> <body> <form runat="server"> <h3>Login</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><P> Username: <asp:Textbox id="UsernameTextbox" runat="server" /><BR> Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><BR> <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" /> <asp:CheckBox id="NotPublicCheckBox" runat="server" /> Check here if this is <u>not</u> a public computer. </form> </body> </html> C# 複製代碼 <%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> public void Login_OnClick(object sender, EventArgs args) { if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked); else Msg.Text = "Login failed. Please check your user name and password and try again."; } </script> <html> <head> <title>Login</title> </head> <body> <form runat="server"> <h3>Login</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><P> Username: <asp:Textbox id="UsernameTextbox" runat="server" /><BR> Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><BR> <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" /> <asp:CheckBox id="NotPublicCheckBox" runat="server" /> Check here if this is <u>not</u> a public computer. </form> </body> </html>
Membership安全性
AspNetHostingPermission 用於在宿主環境中使用 Membership 類。要求值:LinkDemand。權限值:Minimal。
Membership層次結構
System.Object
System.Web.Security.Membership
Membership線程安全
此類型的任何公共靜態(Visual Basic 中的 Shared)成員都是線程安全的,但不保證所有實例成員都是線程安全的。
Membership平台
Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:14次歷史版本
- 最近更新: JD萤火虫003