public ref class SqlMembershipProvider : System::Web::Security::MembershipProvider
public class SqlMembershipProvider : System.Web.Security.MembershipProvider
type SqlMembershipProvider = class
    inherit MembershipProvider
Public Class SqlMembershipProvider
Inherits MembershipProvider
SqlMembershipProvider

下面的代码示例演示配置为使用 SqlMembershipProvider 的 ASP.NET 应用程序的 Web.config 文件。

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

ASP.NET 成员身份提供程序已被 ASP.NET 标识取代。 强烈建议更新应用以使用 ASP.NET 标识平台而不是成员身份提供程序。

此类由 MembershipMembershipUser 类用于为使用 SQL Server 数据库的 ASP.NET 应用程序提供成员资格服务。 不能在没有SQL Server的情况下使用 SqlMembershipProvider 。 如果计算机SQL Server Express安装了默认实例名称和启用用户实例,则 SqlMembershipProvider 对象将在首次运行应用程序时在应用程序的App_Data目录中创建名为 aspnetdb 的数据库。

若要手动创建数据库,请运行 Aspnet_regsql.exe 文件夹中 %systemroot%\Microsoft.NET\Framework\ versionNumber 的可执行文件,并指定 -A m 选项 (例如 aspnet_regsql.exe -A m) 。 创建的数据库称为 Aspnetdb。 或者,运行 Aspnet_regsql.exe 以拉取 GUI 配置模式,并选择配置所有 ASP.NET 功能。

如果成员资格提供程序配置了使用集成安全性的连接字符串,则 ASP.NET 应用程序的进程帐户必须有权连接到SQL Server数据库。

Machine.config 文件定义一个名为 AspNetSqlMembershipProvider 的默认SqlMembershipProvider实例,该实例连接到本地计算机上的默认SQL Server Express实例。 如果使用默认实例名称安装了 SQL Server Express,则可以使用此提供程序实例,也可以在 ASP.NET 应用程序的 Web.config 文件中定义自己的实例。

如果将 属性设置为 passwordCompatModeFramework40,则应用程序可以使用 ASP.NET 4 中添加的哈希和加密成员资格选项。 但是,如果 属性 passwordCompatMode 设置为 Framework20,则只能使用 ASP.NET 2.0、ASP.NET 3.5 和 ASP.NET 3.5 SP1 中的哈希和加密成员资格选项。 默认值是 Framework20。 有关详细信息,请参阅 MembershipPasswordCompatibilityMode