次の方法で共有


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 プロパティにアクセスしようとしました。

次のコード例は、パスワードリセットを有効にするようにインスタンスを ActiveDirectoryMembershipProvider 構成する Web.config エントリを示しています。 "パスワードのリセット" アクセス権を持つユーザーの明示的な資格情報が使用されます。

重要

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 パスワードをリセットできるかどうかを示します。 プロパティはEnablePasswordResetmembership Element (ASP.NET Settings Schema) 要素の属性を使用してenablePasswordReset、アプリケーションの構成ファイルで設定されます。

プロパティtrueEnablePasswordReset設定できるのは、次のメンバーシップ要素 (ASP.NET 設定スキーマ) 要素の設定が行われている場合のみです。

  • requiresQuestionAndAnswer は、true である必要があります。

  • Active Directory スキーマを変更して、パスワードの質問と回答を格納するための属性と、パスワード応答の変更試行の 3 つの追跡フィールドを含める必要があります。

  • attributeMapPasswordQuestionattributeMapPasswordAnswerattributeMapFailedPasswordAnswerCountattributeMapFailedPasswordAnswerTime、および attributeMapFailedPasswordAnswerLockoutTime は、Active Directory スキーマの属性にマップする必要があります。

上記の条件が満たされない場合は、初期化時に が ProviderException スローされます。

アプリケーション構成ファイルの接続文字列で、特定のサーバーではなく Active Directory ドメインが指定されている場合、 ActiveDirectoryMembershipProvider インスタンスは常にドメインの PDC ロールを持つドメイン コントローラーに接続して、パスワードの変更が有効になり、メソッドが呼び出されたときに ValidateUser 使用できるようにします。

注意

プロパティが EnablePasswordResettrueの場合でも、Active Directory サーバーへの接続に使用される資格情報にドメイン管理者権限 (推奨されない) または "パスワードのリセット" アクセス権がない限り、ユーザー パスワードをリセットすることはできません。

適用対象

こちらもご覧ください