membership の providers の add 要素 (ASP.NET 設定スキーマ)

[このドキュメントはプレビューのみを目的としており、以降のリリースで変更される可能性があります。プレースホルダーとして空白のトピックが含まれています。]

メンバーシップ プロバイダーのコレクションにメンバーシップ プロバイダーのインスタンスを追加します。

この要素は、.NET Framework Version 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" 
/>

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性

Description

applicationName

省略可能な String 属性です。

データ ソースでメンバーシップ データを格納するアプリケーションの名前を指定します。 アプリケーション名を指定すると、複数の ASP.NET アプリケーションで同じデータベースを使用できます。ユーザー名は異なるアプリケーションごとに複製されません。 また、同じアプリケーション名を指定すると、複数の ASP.NET アプリケーションで同じメンバーシップ情報を使用できます。

applicationName 属性を指定しない場合、.NET Framework に含まれるメンバーシップ プロバイダーは、ApplicationName プロパティに対して ApplicationVirtualPath 値を使用します。

この属性は Active プロバイダーのプロバイダーに指定できますが、プロバイダーは値を無視します。

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 の場合、プロバイダーは接続先ディレクトリの種類で使用可能な最高レベルの接続セキュリティの使用を自動的に試みます。 保護は、次の方法および順序で決定されます。

  1. SSL。

    SSL が Active Directory モードおよび Active Directory アプリケーション モードの両方で機能するためです (Ssl 値)。

  2. SSL を使用できず、プロバイダーが Active Directory、または Active Directory アプリケーション モードのドメイン結合インスタンスのいずれかに接続する場合、署名およびシールの暗号化が使用されます (SignAndSeal 値)。

  3. SSL と署名およびシールの暗号化のどちらも使用できない場合、プロバイダーは構成されたディレクトリへの暗号化チャネルを自動的に選択できなかったことを示す ProviderException 例外をスローします。

None の場合、明示的な資格情報が必要です。 connectionUsername および connectionPassword 属性が指定されていない場合、接続保護に None を使用する場合は、プロセス資格情報を使用する既定値がサポートされないことを示す ProviderException 例外がスローされます。

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 値の 1 つ。

既定値は、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」を参照してください。

子要素

なし。

親要素

要素

Description

configuration

共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素を指定します。

system.web

ASP.NET 構成セクションのルート要素を指定します。

membership

ASP.NET メンバーシップが使用できるようにアプリケーションを構成します。

providers

ASP.NET メンバーシップのメンバーシップ プロバイダーのコレクションを定義します。

解説

Active Directory のメンバーシップ プロバイダーの構成の詳細については、ActiveDirectoryMembershipProvider を参照してください。

既定の構成

次の既定の add 要素は、.NET Framework Version 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>

要素情報

構成セクション ハンドラー

System.Web.Configuration.MembershipSection

構成メンバー

MembershipSection.Providers

構成できる場所

Machine.config

ルート レベルの Web.config

アプリケーション レベルの Web.config

要件

Microsoft Internet Information Services (IIS) バージョン 5.0、5.1、または 6.0

.NET Framework Version 2.0

Microsoft Visual Studio 2005

参照

処理手順

How to: Lock ASP.NET Configuration Settings

Reference

membership の providers 要素 (ASP.NET 設定スキーマ)

system.web 要素 (ASP.NET 設定スキーマ)

<configuration> 要素

membership の providers の remove 要素 (ASP.NET 設定スキーマ)

membership の providers の clear 要素 (ASP.NET 設定スキーマ)

ActiveDirectoryMembershipProvider

System.Configuration

System.Web.Configuration

概念

ASP.NET Configuration Overview

ASP.NET Server Controls and Browser Capabilities

Securing Configuration

Configuration Inheritance

その他の技術情報

Managing Users Using ASP.NET Membership

ASP.NET Configuration Files

ASP.NET 構成設定

全般構成設定 (ASP.NET)

ASP.NET Configuration API