6.6 識別名の操作

次のコントロールは、識別名(DN)専用のサポートを提供します。

この項では、次の専用サポートについて説明します。

6.6.1 DNのフォーマット

DN値がある場合、DNを表示することも、そのDNに関連した属性のセットを表示することもできます。たとえば、コントロールにユーザエンティティのDNを表示する場合、エンティティの[名]属性と[姓]属性を代わりに表示できます。この機能をサポートするコントロールは、[DNDisplay]、[DNLookup]、[MVEditor]、[Picklist]です。

コントロールの[式の表示]プロパティで表示する属性を定義します。この[式の表示]は、属性キーを属性値に置き換えることにより、ランタイム時に解決されます。

6.6.2 オブジェクトセレクタの操作

場合によっては、ユーザが候補の値のリストからDNを検索したり選択できるようにすることもできます。[オブジェクトセレクタ]ダイアログボックス([オブジェクトルックアップ]ダイアログボックスとも呼ばれる)が、この機能を提供します。[オブジェクトセレクタ]ダイアログボックスのコンテンツは、フォームコントロールのプロパティ(「表 6-28」を参照)と、どのようにDALプロパティを定義しているか(「[DNLookup]コントロールタイプの定義とオブジェクトセレクタのコンテンツ」を参照)によって制御されます。

オブジェクトセレクタは、必須および検索可能なディレクトリ抽象化レイヤアクセスプロパティがTrueに設定されている、文字列またはDNLookupデータタイプの属性だけをサポートします。

表 6-28 [オブジェクトセレクタ]ダイアログボックスを定義するプロパティ

プロパティ

説明

オブジェクトのルックアップに使用されるエンティティキー

これは、検索または表示するDNを持つディレクトリ抽象化レイヤエンティティを示すキーです。このフィールドは必須です。

オブジェクトセレクタのタイプ

paramlist: [オブジェクトセレクタ]ダイアログボックスでオブジェクトルックアップを実行します。[オブジェクトのルックアップに使用されるエンティティキー]プロパティを介してルックアップ条件を指定します。

container: [オブジェクトセレクタ]ダイアログボックスで1つ以上のコンテナを選択対象として表示します。検索対象のコンテナは、[検索コンテナ]プロパティによって決定されます。このプロパティは、[オブジェクトのルックアップに使用されるエンティティキー]プロパティで名前が付けられたエンティティに対して、ディレクトリ抽象化レイヤで指定されます。たとえば、[オブジェクトのルックアップに使用されるエンティティキー]プロパティが「グループ」である場合、検索コンテナはデフォルトで「%group-root%」に設定されます。検索コンテナが使用されない場合、ユーザアプリケーションのインストール中に指定された検索ルートが使用されます。

オブジェクトセレクタボタンの表示

Trueに設定した場合、[オブジェクトセレクタ]ボタンがコントロールに表示されます。設定しない場合は、表示されません。

[DNLookup]コントロールタイプの定義とオブジェクトセレクタのコンテンツ

[オブジェクトのルックアップに使用されるエンティティキー]を指定した場合、オブジェクトセレクタのコンテンツは、属性の[DNLookup ]コントロールタイプの定義(ディレクトリ抽象化レイヤ内)により定義されます。たとえば、ユーザエンティティをオブジェクトルックアップに指定し、マネージャを属性に指定した場合、オブジェクトセレクタはマネージャの[DNLookup]コントロールタイプ定義を使用してルックアップ条件を決定するので、ユーザは[名]属性と[姓]属性で検索できます。 マネージャエンティティの[DNLookup]定義を図 6-31に示します。

図 6-31 ユーザの[DNLookup]プロパティ定義に対する[マネージャ]属性

結果のオブジェクトセレクタを図 6-32に示します。

図 6-32 オブジェクトセレクタのサンプル

[ルックアップ]属性を変更することによって、オブジェクトセレクタが使用する属性を変更できます。オブジェクトセレクタでその他の属性を許可する

  1. 目的の属性が、ルックアップエンティティとして指定されたエンティティに対して定義されているかどうかを特定します。(この例では、マネージャルックアップです。)

  2. 必要な属性がルックアップエンティティで使用できる場合、ルックアップ属性に追加できます。[検索]および[読み取り]プロパティを必ずTrueに設定してください。設定しないと、[オブジェクトセレクタ]ダイアログボックスに表示されません。

  3. ルックアップエンティティに対してまだ属性が存在していない場合、次の手順を行う必要があります。

    • ルックアップエンティティに属性を追加します。たとえば、前の例のようなマネージャルックアップに別の属性を表示するには、マネージャルックアップエンティティにその属性を追加します。詳細については、セクション 3.2.3, 属性の追加を参照してください。

    • [DNLookup]定義に属性を追加します。

    • 変更した定義を展開します。この例では、[マネージャ]属性の定義を変更したので、マネージャルックアップエンティティ(定義に新しい属性を追加した場合)およびユーザエンティティをを再展開しました。

    • アプリケーションサーバのDirectoryAbstractionLayerDefinitionsキャッシュをリフレッシュします。