Fixpack 8.5.5.2 or later

Virtual member manager のカスタム・プロパティー

カスタム・プロパティーは、統合リポジトリー内で一部の追加機能を提供する拡張設定を構成するために使用します。

preFetchData

preFetchData カスタム・プロパティーは、LDAP リポジトリーのユーザー・エンティティー・タイプまたはグループ・エンティティー・タイプに対する、一連の属性のプリフェッチとキャッシュをサポートするために追加します。このプロパティーを使用すると、特定のユーザー・エンティティー・タイプまたはグループ・エンティティー・タイプに対して、永続的にプリフェッチおよびキャッシュする属性のリストを定義できます。

情報
データ型 String
有効な値 エンティティー・タイプ名と一連のその属性のペアが含まれるストリング
このプロパティーの有効な値は、エンティティー・タイプ名と一連のその対応する属性のペアで構成されます。このプロパティーの値は、以下の形式で定義する必要があります。
EntityType1:attribute1,attribute2;EntityType2:attribute1,attribute2

指定した属性の形式または値が正しくないと、次の例のような例外が表示される場合があります。

統合 LDAP リポジトリー内で preFetchData プロパティーを定義するには、setIdMgrCustomProperty コマンドを使用します。
$AdminTask setIdMgrCustomProperty {-id <ldap_repository_name> -name <property_name> -value <value>}
例: $AdminTask setIdMgrCustomProperty {-id LDAP1 -name preFetchData -value “PersonAccount:sn,cn,givenName,displayName,preferredLanguage;Group:cn,description”}
以下は、preFetchData プロパティーが指定された LDAP リポジトリーの構成の例です。
<config:repositories xsi:type="config:LdapRepositoryType" adapterClassName="com.ibm.ws.wim.adapter.ldap.LdapAdapter"
	id="LDAP1" isExtIdUnique="true" supportAsyncMode="false" supportExternalName="false"
        supportPaging="false" supportSorting="false" supportTransactions="false" certificateFilter=""
        certificateMapMode="exactdn" ldapServerType="IDS" translateRDN="false">
   <config:baseEntries name="o=ldap" nameInRepository="o=ldap"/>
   <config:loginProperties>uid</config:loginProperties>
   <config:CustomProperties name="preFetchData" value="PersonAccount:sn,cn,givenName,displayName,preferredLanguage;Group:cn,description"/>
   <config:ldapServerConfiguration primaryServerQueryTimeInterval="15" returnToPrimaryServer="true"
          sslConfiguration="">
	<config:ldapServers authentication="simple" bindDN="cn=root" bindPassword="{xor}LTAwK25tbA=="
            connectionPool="false" connectTimeout="0" derefAliases="always" referal="ignore"
            sslEnabled="false">
	    <config:connections host="localhost" port="389"/>
        </config:ldapServers>
   </config:ldapServerConfiguration>
</config:repositories>
以下は、preFetchData プロパティーに構成された値に基づく制御フローのいくつかのシナリオです。
  • シナリオ 1: preFetchData カスタム・プロパティーの値を PersonAccount:sn;Group:cn と構成して、ユーザー user1 としてログインする

    user1 に対して初めて操作が実行されると、sn が照会の一部として明示的に要求されなくても、ユーザーのログイン・プロパティーと共に sn 属性も取得およびキャッシュされます。user1 をメンバーとして含むグループの場合は、cn 属性がキャッシュされます。後続の呼び出しでは、取得対象のデータは最初にキャッシュ内で検索され、そのデータが見つからなかった場合のみ、必要な属性に対して JNDI 呼び出しが行われます。

  • シナリオ 2: preFetchData カスタム・プロパティーの値を Group:cn と構成して、グループを取得する

    グループ g1 に対して検索が実行されると、統合リポジトリーは、ユーザーが指定した構成に基づいてグループ cn を取得してキャッシュします。後続の呼び出しで cn 属性と description 属性が検索された場合、cn はキャッシュからフェッチされ、グループの description をフェッチするために明示的に JNDI 呼び出しが行われます。

domainNameForAutomaticDiscoveryOfLDAPServers

このプロパティーを使用すると、LDAP リポジトリーの DNS 構成ファイル内に特定のドメイン名に対して定義されている、使用可能な LDAP サーバーをランタイム時に検索できます。

情報
データ型 String
有効な値 DNS 構成ファイル内に定義されている LDAP サーバー・レコードのドメイン名

統合 LDAP リポジトリーの構成では、1 次サーバーだけでなく、フェイルオーバー・サーバーも構成できます。 統合リポジトリーは、1 次サーバーが停止するとフェイルオーバー・サーバーに切り替えます。ユーザーやグループが定義された LDAP サーバーが多数ある場合、統合 LDAP リポジトリーの構成でそれらのすべての LDAP サーバーを定義するのは困難です。 WebSphere Application Server 内に多数のノードが構成されており、各ノードが複数の LDAP と共に構成されている場合、統合 LDAP リポジトリーの構成はさらに困難になり、さらに時間がかかります。LDAP サーバーが多数ある場合は、domainNameForAutomaticDiscoveryOfLDAPServers プロパティーを使用して、LDAP リポジトリー内にどの LDAP サーバーが構成されているかにかかわらず、ランタイム時に LDAP サーバー名を動的に検索します。

次の例のように、対応する DNS 構成ファイル内に定義された、対応する LDAP サーバーの LDAP ドメイン名を SRV レコード形式で定義できます。
ldap._tcp.ibm.com 86400 IN SRV 0 0 389 bigbox.ibm.com
ldap._tcp.ibm.com 86400 IN SRV 10 20 1389 smallbox1.ibm.com
domainNameForAutomaticDiscoveryOfLDAPServers プロパティーを設定すると、統合リポジトリーは、DNS 構成ファイルから LDAP サーバーを検索し、後続の JNDI 呼び出しをその特定のサーバーに対して行います。

domainNameForAutomaticDiscoveryOfLDAPServers プロパティーは、次のように setIdMgrCustomProperty コマンドを使用して設定できます。$AdminTask setIdMgrCustomProperty {-id <ldap_repository_name> -name <property_name> -value <value>}

例えば、次のようになります。
$AdminTask setIdMgrCustomProperty {-id LDAP1 -name domainNameForAutomaticDiscoveryOfLDAPServers -value “dc=ibm,dc=com”}
以下は、domainNameForAutomaticDiscoveryOfLDAPServers プロパティーが指定された LDAP リポジトリーの構成の例です。
<config:repositories xsi:type="config:LdapRepositoryType" adapterClassName="com.ibm.ws.wim.adapter.ldap.LdapAdapter"
        id="LDAP1" isExtIdUnique="true" supportAsyncMode="false" supportExternalName="false"
        supportPaging="false" supportSorting="false" supportTransactions="false" certificateFilter=""
        certificateMapMode="exactdn" ldapServerType="IDS" translateRDN="false">
   <config:baseEntries name="o=ldap" nameInRepository="o=ldap"/>
   <config:loginProperties>uid</config:loginProperties>
   <config:CustomProperties name="domainNameForAutomaticDiscoveryOfLDAPServers" value="dc=ibm,dc=com"/>
   <config:ldapServerConfiguration primaryServerQueryTimeInterval="15" returnToPrimaryServer="true"
          sslConfiguration="">
        <config:ldapServers authentication="simple" bindDN="cn=root" bindPassword="{xor}LTAwK25tbA=="
            connectionPool="false" connectTimeout="0" derefAliases="always" referal="ignore"
            sslEnabled="false">
            <config:connections host="localhost" port="389"/>
        </config:ldapServers>
   </config:ldapServerConfiguration>
</config:repositories>
domainNameForAutomaticDiscoveryOfLDAPServers プロパティーは、LDAP リポジトリー内に設定された LDAP サーバーの構成をオーバーライドし、DNS 構成ファイルから LDAP サーバー名とポート番号を取得します。

次のような統合 LDAP リポジトリーの URL が生成され、LDAP サーバーのレコードの検索に使用されます。ldap:///dc=ibm,dc=com

JNDI がこの URL をドメイン名として受け取った場合、LDAP サーバーは DNS 構成ファイルから取得されます。LDAP サーバーのいずれかが停止すると、JNDI は、そのドメイン用として DNS 構成ファイル内に定義された別の LDAP サーバーを始動します。

minimizeContextPoolThreadBlock

minimizeContextPoolThreadBlock カスタム・プロパティーは、LDAP サーバーが停止状態のときにサーバーからの読み取りが試行された場合の、スレッドのロック動作を定義するために使用します。このプロパティーの値を true に設定すると、読み取り操作が実行されたときに最小数のスレッドのみがブロックされ、残りのスレッドは待機なしに即時に失敗します。このプロパティーを false に設定すると、要求された LDAP に対してコンテキストが作成されるか、コンテキストの作成がタイムアウトになるまで、読み取りを要求するすべてのスレッドがブロックされます。コンテキストの作成時間のデフォルトは 120 秒です。
情報
データ型 Boolean
デフォルト True

maxThreadsToBlock

maxThreadsToBlock プロパティーは、minimizeContextPoolThreadBlock プロパティーと共に使用します。minimizeContextPoolThreadBlock プロパティーを true に設定すると、maxThreadsToBlock は、LDAP の読み取り操作が実行されたときにブロックするスレッドの最大数を決定します。
情報
データ型 Integer
デフォルト 5

bindTimeout

bindTimeout カスタム・プロパティーは、クイック・バインドのカウントの追跡にかける時間をミリ秒単位で指定します。トレース・ログが使用可能な場合、指定した時間を超過するバインドはログに追加されます。
情報
データ型 ミリ秒
デフォルト 1000


利用条件 | フィードバック