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 标识平台而不是成员身份提供程序。
此类由 Membership 和 MembershipUser 类用于为使用 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 文件中定义自己的实例。
如果将 属性设置为 passwordCompatMode
Framework40,则应用程序可以使用 ASP.NET 4 中添加的哈希和加密成员资格选项。 但是,如果 属性 passwordCompatMode
设置为 Framework20,则只能使用 ASP.NET 2.0、ASP.NET 3.5 和 ASP.NET 3.5 SP1 中的哈希和加密成员资格选项。 默认值是 Framework20。 有关详细信息,请参阅 MembershipPasswordCompatibilityMode。