更新:2007 年 11 月
向成员资格提供程序集合添加成员资格提供程序实例。
此元素是 .NET Framework 2.0 版中的新元素。
<configuration> 元素
system.web 元素(ASP.NET 设置架构)
membership 元素(ASP.NET 设置架构)
membership 的 providers 元素(ASP.NET 设置架构)
membership 的 providers 的 add 元素(ASP.NET 设置架构)
<!-- SqlMembershipProvider syntax -->
<add name="string"
type="string"
connectionStringName="string"
applicationName="MyApplication"
commandTimeout
description
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10"
minRequiredPasswordLength
minRequiredNonalphanumericCharacters
passwordStrengthRegularExpression
/>
<!-- ActiveDirectoryMembershipProvider syntax -->
<add
name="string"
type="string"
applicationName
attributeMapUsername="string"
attrbuteMapEmail="string"
attributeMapPasswordQuestion="string"
attributeMapPasswordAnswer="string"
attributeMapFailedPasswordAnswerCount="number"
attributeMapFailedPasswordAnswerTime="interval"
attributeMapFailedPasswordAnswerLockoutTime="interval"
clientSearchTimeout="interval"
serverSearchTimeout
connectionUsername="string"
connectionPassword="string"
connectionProtection="string"
connectionStringName="connection string identifier"
enablePasswordReset="true|false"
enablePasswordRetrieval="true|false"
enableSearchMethods="true|false"
requiresQuestionAndAnswer="true|false"
maxInvalidPasswordAttempts="number"
passwordAttemptWindow="number"
commandTimeout="number"
description="string"
passwordAnswerAttemptLockoutDuration="interval"
minRequiredPasswordLength
minRequiredNonalphanumericCharacters
passwordStregnthRegularExpression="string"
passwordAnswerAttemptLockoutDuration="number"
requiresUniqueEmail="true|false"
/>
属性和元素
下面几部分描述了属性、子元素和父元素。
属性
属性 |
说明 |
---|---|
applicationName |
可选的 String 属性。 指定在数据源中存储成员资格数据的应用程序名称。该应用程序名称使得多个 ASP.NET 应用程序能够使用同一个数据库,而不会遇到不同应用程序存在重复用户名的情况。或者,通过指定相同的应用程序名称,多个 ASP.NET 应用程序还可以使用相同的成员资格信息。 如果未指定 applicationName 属性 (Attribute),则 .NET Framework 附带的成员资格提供程序使用 ApplicationName 属性 (Property) 的 ApplicationVirtualPath 值。 尽管可以为活动提供程序指定该属性,但是提供程序将忽略此值。 |
attributeMapUsername |
仅适用于 ActiveDirectoryMembershipProvider 属性。 可选的 String 属性。 用于定义从 MembershipUser 对象上的 UserName 属性 (Property) 到目录中的 UserName 属性 (Attribute) 的映射。 默认值为 userPrincipalName |
attributeMapEmail |
仅适用于 ActiveDirectoryMembershipProvider 属性。 可选的 String 属性。 用于定义从 MembershipUser 对象上的 Email 属性 (Property) 到目录中的 Email 属性 (Attribute) 的映射。 默认值为“mail”。 |
attributeMapPasswordQuestion |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 String 属性。 用于定义从 MembershipUser 对象上的 PasswordQuestion 属性 (Property) 到目录中的属性 (Attribute) 的映射。 默认值未定义。因此,管理员必须显式配置该属性才能使用密码提示问答功能。 |
attributeMapPasswordAnswer |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 String 属性。 用于定义从用户的密码提示问题答案到目录中属性的映射。 默认值未定义。因此,管理员必须显式配置该属性才能使用密码提示问答功能。 |
attributeMapFailedPasswordAnswerCount |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Int32 属性。 用于定义目录中的属性,该属性用于跟踪失败的密码提示问题答案尝试。 默认值未定义。因此,管理员必须显式配置该属性才能使用密码提示问答功能。 |
attributeMapFailedPasswordAnswerTime |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Interval 属性。 用于定义从 MembershipUser 对象上的属性 (Property) 到目录中属性 (Attribute) 的映射。 默认值未定义。因此,如果管理员没有显式地将该属性 (Attribute) 映射到类属性 (Property),则与该属性 (Property) 关联的功能不会尝试设置或获取该值。这种情况下,在提供程序中实现默认行为。 |
attributeMapFailedPasswordAnswerLockoutTime |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Interval 属性。 用于定义目录中的属性,该属性用于存储用户帐户由于错误的密码提示问题答案过多而被锁定的时间。 默认值未定义。因此,管理员必须显式配置该属性才能使用密码提示问答功能。 |
clientSearchTimeout |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Int32 属性。 使管理员能够在客户端指定 LDAP 查询超时时间。有关客户端和服务器搜索超时设置如何与目录中查询分页配合使用的信息,请参见有关 Active Directory 提供程序的搜索方法的文档。 |
serverSearchTimeout |
使管理员能够在服务器端指定 LDAP 查询超时时间。有关客户端和服务器搜索超时设置如何与目录中的查询分页配合使用的信息,请参见有关 Active Directory 提供程序的搜索方法的文档。 |
commandTimeout |
仅适用于 SQL 提供程序。 可选的 Int32 属性。 指定在向成员资格数据源发出的命令超时之前等待的时间(以秒为单位)。SQL 提供程序在创建 SqlCommand 对象时,将使用该超时属性。默认情况下 ASP.NET 配置中并未设置该属性。因此,使用 ADO.NET 的默认值 30 秒。如果设置了该属性,则 SQL 提供程序对向数据库发出的所有 SQL 命令使用已配置的超时值。 默认值为 30(ADO.NET 默认值)。 |
connectionStringName |
必需的 String 属性。 指定在 <connectionStrings> 元素中定义的连接字符串的名称。指定的连接字符串由要添加的提供程序提供。 |
connectionUsername |
仅适用于 ActiveDirectoryMembershipProvider 属性。 可选的 String 属性。 定义连接到目录时用于身份验证的用户名。如果指定了该属性,还必须指定 connectionPassword 属性。 请使用此属性替代在提供程序连接到目录时有效的进程帐户或应用程序模拟凭据。 |
connectionPassword |
仅适用于 ActiveDirectoryMembershipProvider 属性。 可选的 String 属性。 定义连接到目录时用于身份验证的密码。如果指定了该属性,还必须指定 connectionUsername 属性。 请使用此属性替代在提供程序连接到目录时有效的进程帐户或应用程序模拟凭据。 |
connectionProtection |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 String 属性。 定义打开与目录的连接时使用的传输层安全性选项。此属性可以是 Secure 或 None。 如果是 Secure,则提供程序尝试自动选择最高级别的连接安全性,可用的安全性取决于提供程序连接的目录的类型。按照以下方式和顺序确定保护级别:
如果是 None,则需要显式凭据。如果未提供 connectionUsername 和 connectionPassword 属性,则引发 ProviderException 异常,表明对连接保护使用 None 时不支持使用进程凭据的默认设置。 |
description |
可选的 String 属性。 指定成员资格提供程序实例的说明。 |
enablePasswordRetrieval |
可选的 Boolean 属性。 指定成员资格提供程序实例是否支持密码检索。如果为 true,则成员资格提供程序实例支持密码检索。 SQL 和 Active Directory 提供程序的默认值均为 false。 不能在 ActiveDirectoryMembershipProvider 的配置文件中将 enablePasswordRetrieval 设置为 true。此提供程序不允许检索密码。 |
enablePasswordReset |
可选的 Boolean 属性。 指定成员资格提供程序实例是否支持密码重置。如果为 true,则成员资格提供程序实例支持密码重置。 SQL 提供程序的默认值为 true,而 Active Directory 提供程序的默认值为 false。 |
enableSearchMethods |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Boolean 属性。 指定面向搜索的 ActiveDirectoryMembershipProvider 方法是否可用。如果为 true,则面向搜索的 ActiveDirectoryMembershipProvider 方法可用。 默认值为 false。 |
maxInvalidPasswordAttempts |
可选的 Int32 属性。 指定允许的无效密码或无效密码提示问题答案尝试的次数。当无效尝试的次数达到配置的值时,将锁定该成员资格用户。 默认值为 5。. 请注意,对于 Active Directory 的提供程序,该属性仅控制无效的密码提示问题答案的尝试次数。目录引擎自行处理密码锁定。 |
minRequiredNonalphanumericCharacters |
可选的 Int32 属性。 指定有效密码中必须包含的特殊字符的最小数量。该属性的值不能设置为小于 0、大于 128 或大于 minRequiredPasswordLength 的值。 默认值为 1。 |
minRequiredPasswordLength |
可选的 Int32 属性。 指定密码中必需包含的字符的最小数量。该属性的值不能设置为小于 0 或大于 128(SQL 提供程序的未编码密码的最大长度)的值。 默认值为 1。 |
name |
必需的 String 属性。 指定提供程序实例的名称。此值可用于 membership 元素的 defaultProvider 属性,以便将提供程序实例标识为默认成员资格提供程序。该提供程序的 name 还可用于在 Providers 集合中对该提供程序进行索引。 |
passwordAnswerAttemptLockoutDuration |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Int32 属性。 指定用户帐户在提供了过多的错误密码提示问题答案后被锁定的时间长度(以分钟为单位)。 默认值为 30 分钟。 |
passwordAttemptWindow |
可选的 Int32 属性。 跟踪失败的尝试所用的时间(以分钟为单位)。每当发生另一次失败时都将重置窗口。如果达到了允许的无效密码或密码提示问题答案的最大尝试次数,将锁定成员资格用户。 默认值为 10。 |
passwordFormat |
仅适用于 SQL 提供程序。 可选的 String 属性。 MembershipPasswordFormat 值之一,它表明密码在成员资格数据存储区中的存储格式。 默认值为 Hashed。 |
passwordStrengthRegularExpression |
仅适用于 SqlMembershipProvider。 可选的 String 属性。 指定用于计算密码的正则表达式。该属性必须是可用于 Regex 类的正则表达式。 默认值为空字符串(“”)。 |
requiresQuestionAndAnswer |
可选的 Boolean 属性。 指定成员资格提供程序实例是否需要密码提示问题答案才允许进行密码重置和检索。如果为 true,则成员资格提供程序需要使用密码提示问题答案才能进行密码重置和检索。 SQL 提供程序的默认值为 true,而 Active Directory 提供程序的默认值为 false。 |
requiresUniqueEmail |
可选的 Boolean 属性。 指定存储在运行 Active Directory 的服务器上的电子邮件地址是否必须是唯一的。如果为 true,则成员资格提供程序实例需要唯一的电子邮件地址。 SQL 提供程序的默认值为 true,而 Active Directory 提供程序的默认值为 false。 |
type |
必需的 String 属性。 指定继承 MembershipProvider 抽象基类的自定义成员资格提供程序的类型。 |
子元素
无。
父元素
元素 |
说明 |
---|---|
configuration |
指定公共语言运行时和 .NET Framework 应用程序使用的每个配置文件中的根元素。 |
system.web |
为 ASP.NET 配置节指定根元素。 |
membership |
为 ASP.NET 成员资格配置应用程序。 |
providers |
为 ASP.NET 成员资格定义一个成员资格提供程序的集合。 |
备注
有关配置 Active Directory 成员资格提供程序的更多信息,请参见 ActiveDirectoryMembershipProvider。
默认配置
下面的默认 add 元素在 .NET Framework 2.0 版的 Machine.config 文件中配置。
<providers>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
</providers>
示例
下面的代码示例演示如何配置 ASP.NET 应用程序以存储和检索用户信息。第一个示例演示配置为使用 SQLMembershipProvider 的 ASP.NET 应用程序。
<membership defaultProvider="SqlProvider"
userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
元素信息
配置节处理程序 |
|
配置成员 |
|
可配置的位置 |
Machine.config 根级别的 Web.config 应用程序级别的 Web.config |
要求 |
Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0 .NET Framework 2.0 版 Microsoft Visual Studio 2005 |
请参见
任务
概念
参考
membership 的 providers 元素(ASP.NET 设置架构)
membership 的 providers 的 remove 元素(ASP.NET 设置架构)
membership 的 providers 的 clear 元素(ASP.NET 设置架构)
ActiveDirectoryMembershipProvider