配置 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 数据库。
说明: |
---|
您需要首先设置 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>