配置 ASP.NET 应用程序以使用成员资格

更新:2007 年 11 月

使用应用程序的 Web.config 文件中的 membership 元素配置 ASP.NET 成员资格。membership 元素是 system.web 节的一个子元素。可通过直接编辑应用程序的 Web.config 文件为该应用程序启用 ASP.NET 成员资格,也可以使用网站管理工具,该工具提供基于向导的界面。在配置成员资格的过程中,指定:

  • 使用哪一个(或哪几个)成员资格提供程序。(这通常还指定存储成员资格信息的数据库。)

  • 密码选项,如加密和是否支持基于用户特定的问题的密码恢复。

  • 用户和密码。如果您使用的是网站管理工具,则可以直接创建和管理用户。否则,必须调用成员资格函数以编程方式创建和管理用户。

有关使用网站管理工具配置 ASP.NET 成员资格的示例,请参见演练:创建具有成员资格和用户登录功能的网站

指定默认提供程序

使用 membership 元素的 defaultProvider 属性来指定默认的成员资格提供程序。如果没有显式指定默认的提供程序,计算机配置将指定一个名为“AspNetSqlMembershipProvider”的 SqlMembershipProvider 实例(它被标识为默认的提供程序)。“AspNetSqlMembershipProvider”连接到本地 SQL Server 中的 aspnetdb 数据库。

6e9y4s5t.alert_note(zh-cn,VS.90).gif说明:

您需要首先设置 SqlMembershipProvider 使用的数据库,然后才能在应用程序中使用它。有关详细信息,请参见为 SQL Server 创建和配置应用程序服务数据库

您还可以通过配置 membership 节中的提供程序来为此提供程序指定默认的提供程序实例和选项。使用 providers 元素来标识要添加到可供应用程序使用的提供程序集合的提供程序。将 name 属性的值用作 defaultProvider 值可将您的提供程序实例标识为默认的提供程序。当指定某个提供程序实例时,还必须通过使用配置的 connectionStrings 节为该实例指定有效的连接字符串。例如,下面的 Web.config 文件标识一个 SqlMembershipProvider 实例,此实例连接到本地服务器以外的 SQL Server。

<configuration>
  <connectionStrings>
    <add name="MySqlConnection" connectionString="Data 
      Source=MySqlServer;Initial Catalog=aspnetdb;Integrated
      Security=SSPI;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <add 
          name="SqlProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="MySqlConnection"
          applicationName="MyApplication"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
      </providers>
    </membership>
  </system.web>
</configuration>

请参见

其他资源

使用成员资格管理用户