ActiveDirectoryMembershipProvider.EnablePasswordReset 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示 ActiveDirectoryMembershipProvider 实例是否已配置为允许用户重置其密码。
public:
virtual property bool EnablePasswordReset { bool get(); };
public override bool EnablePasswordReset { get; }
member this.EnablePasswordReset : bool
Public Overrides ReadOnly Property EnablePasswordReset As Boolean
属性值
如果允许密码重置,则为 true
;否则为 false
。 默认值为 false
。
例外
在初始化 EnablePasswordReset 实例之前,已尝试访问 ActiveDirectoryMembershipProvider 属性。
示例
下面的代码示例演示一个 Web.config 条目,用于配置 ActiveDirectoryMembershipProvider 实例以启用密码重置。 它使用给定“重置密码”访问权限的用户的显式凭据。
重要
将用户凭据放入 Web.config 文件时,存在潜在的安全威胁。 对包含 Web.config 文件的目录具有访问权限的用户可以读取该文件,从而查看凭据。 有关如何防范此威胁的详细信息,请参阅 使用受保护的配置加密配置信息。
<configuration>
<connectionStrings>
<add name="ADService" connectionString="LDAP://ldapServer/" />
</connectionStrings>
<system.web>
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider,
System.Web, Version=2.0.3600, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionUsername="UserWithResetPasswordRights"
connectionPassword="PasswordForUser"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
attributeMapPasswordQuestion="PasswordQuestionADAttribute"
attributeMapPasswordAnswer="PasswordAnswerADAttribute"
attributeMapFailedPasswordAnswerCount="AnswerCountADAttribute"
attributeMapFailedPasswordAnswerTime="AnswerTimeADAttribute"
attributeMapFailedPasswordAnswerLockoutTime="LockOutTimeADAttribute" />
</providers>
</membership>
</system.web>
</configuration>
注解
属性 EnablePasswordReset 指示是否可以使用 ResetPassword 方法重置用户的密码。 属性 EnablePasswordReset 在 enablePasswordReset
应用程序的配置文件中使用 成员资格元素 (ASP.NET 设置架构) 元素的属性进行设置。
仅EnablePasswordReset当以下成员资格元素 (ASP.NET 设置架构) 元素设置时,才能设置 属性true
。
requiresQuestionAndAnswer
必须为true
。必须修改 Active Directory 架构,以包含用于存储密码问题和答案的属性,以及密码答案更改尝试的三个跟踪字段。
attributeMapPasswordQuestion
、attributeMapPasswordAnswer
、attributeMapFailedPasswordAnswerCount
、attributeMapFailedPasswordAnswerTime
和attributeMapFailedPasswordAnswerLockoutTime
必须映射到 Active Directory 架构中的属性。
如果未满足上述条件, ProviderException 则会在初始化时引发 。
当应用程序配置文件中的连接字符串指定 Active Directory 域而不是特定服务器时, ActiveDirectoryMembershipProvider 实例将始终连接到具有域 PDC 角色的域控制器,以确保密码更改生效并在调用 方法时 ValidateUser 可用。
注意
即使 EnablePasswordReset 属性为 true
,也不能重置用户密码,除非用于连接到 Active Directory 服务器的凭据具有域管理员权限 (不建议) 或“重置密码”访问权限。