membership 的 providers 的 add 元素(ASP.NET 设置架构)
[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]
向成员资格提供程序集合添加成员资格提供程序实例。
此元素是 .NET Framework 2.0 版中的新元素。
<!-- 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 特性,则 .NET Framework 附带的成员资格提供程序使用 ApplicationName 属性的 ApplicationVirtualPath 值。 尽管可以为活动提供程序指定该特性,但是提供程序将忽略此值。 |
attributeMapUsername |
仅适用于 ActiveDirectoryMembershipProvider 特性。 可选的 String 特性。 用于定义从 MembershipUser 对象上的 UserName 属性到目录中的 UserName 特性的映射。 默认值为 userPrincipalName |
attributeMapEmail |
仅适用于 ActiveDirectoryMembershipProvider 特性。 可选的 String 特性。 用于定义从 MembershipUser 对象上的 Email 属性到目录中的 Email 特性的映射。 默认值为“mail”。 |
attributeMapPasswordQuestion |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 String 特性。 用于定义从 MembershipUser 对象上的 PasswordQuestion 属性到目录中的特性的映射。 默认值未定义。 因此,管理员必须显式配置该特性才能使用密码提示问答功能。 |
attributeMapPasswordAnswer |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 String 特性。 用于定义从用户的密码提示问题答案到目录中特性的映射。 默认值未定义。 因此,管理员必须显式配置该特性才能使用密码提示问答功能。 |
attributeMapFailedPasswordAnswerCount |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Int32 特性。 用于定义目录中的特性,该特性用于跟踪失败的密码提示问题答案尝试。 默认值未定义。 因此,管理员必须显式配置该特性才能使用密码提示问答功能。 |
attributeMapFailedPasswordAnswerTime |
仅适用于 ActiveDirectoryMembershipProvider。 可选的 Interval 特性。 用于定义从 MembershipUser 对象上的属性到目录中特性的映射。 默认值未定义。 因此,如果管理员没有显式地将该特性映射到类属性,则与该属性关联的功能不会尝试设置或获取该值。 这种情况下,在提供程序中实现默认行为。 |
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 提供程序的未编码密码的最大长度)的值。 默认值为 7。 |
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 抽象基类的自定义成员资格提供程序的类型名称。 有关使用自定义成员资格提供程序的详细信息,请参阅Implementing a Membership Provider。 |
子元素
无。
父元素
元素 |
说明 |
---|---|
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 |
请参见
任务
How to: Lock ASP.NET Configuration Settings
参考
membership 的 providers 元素(ASP.NET 设置架构)
membership 的 providers 的 remove 元素(ASP.NET 设置架构)
membership 的 providers 的 clear 元素(ASP.NET 设置架构)
ActiveDirectoryMembershipProvider
概念
ASP.NET Configuration Overview
ASP.NET Server Controls and Browser Capabilities