membership 知识准备 来自百度

在 ASP.NET 应用程序中,Membership 类用于验证用户凭据并管理用户设置(如密码和电子邮件地址)。Membership 类可以独自使用,或者与 FormsAuthentication 一起使用以创建一个完整的 Web 应用程序或网站的用户身份验证系统。Login 控件封装了 Membership 类,从而提供一种便捷的用户验证机制。

简介  

      验证用户凭据并管理用户设置。无法继承此类。

  命名空间:System.Web.Security

  程序集:System.Web(在 system.web.dll 中)

Membership 类提供的功能  Membership 类提供的功能可用于:

  创建新用户。

  将成员资格信息(用户名、密码、电子邮件地址及支持数据)存储在 Microsoft SQL Server 或其他类似的数据存储区。

  对访问网站的用户进行身份验证。可以以编程方式对用户进行身份验证,也可以使用 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)

示例

  下面的代码示例演示配置为使用 Forms 身份验证和 ASP.NET 成员资格的 ASP.NET 应用程序的登录页。如果提供的用户凭据无效,则会向用户显示一条消息。否则,使用 RedirectFromLoginPage 方法将用户重定向到最初请求的 URL。

 

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值