ActiveDirectoryMembershipProvider.EnablePasswordReset 属性

定义

获取一个值,该值指示 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 方法重置用户的密码。 属性 EnablePasswordResetenablePasswordReset 应用程序的配置文件中使用 成员资格元素 (ASP.NET 设置架构) 元素的属性进行设置。

EnablePasswordReset当以下成员资格元素 (ASP.NET 设置架构) 元素设置时,才能设置 属性true

  • requiresQuestionAndAnswer 必须为 true

  • 必须修改 Active Directory 架构,以包含用于存储密码问题和答案的属性,以及密码答案更改尝试的三个跟踪字段。

  • attributeMapPasswordQuestionattributeMapPasswordAnswerattributeMapFailedPasswordAnswerCountattributeMapFailedPasswordAnswerTimeattributeMapFailedPasswordAnswerLockoutTime 必须映射到 Active Directory 架构中的属性。

如果未满足上述条件, ProviderException 则会在初始化时引发 。

当应用程序配置文件中的连接字符串指定 Active Directory 域而不是特定服务器时, ActiveDirectoryMembershipProvider 实例将始终连接到具有域 PDC 角色的域控制器,以确保密码更改生效并在调用 方法时 ValidateUser 可用。

注意

即使 EnablePasswordReset 属性为 true,也不能重置用户密码,除非用于连接到 Active Directory 服务器的凭据具有域管理员权限 (不建议) 或“重置密码”访问权限。

适用于

另请参阅