高度なカスタマイズ > Info*Engine ユーザーガイド > Info*Engine カスタムタグリファレンス > Info*Engine タグ > directory ライブラリのタグ
  
directory ライブラリのタグ
directory タブライブラリのタグを使用するには、以下のような taglib ディレクティブを指定する必要があります。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/directory"
prefix="iedir" %>
これらのタグの構文は、taglib ディレクティブに iedir プリフィックスが指定されていることを前提としています。別のプリフィックスを指定する場合は、タグ構文内で iedir の代わりにユーザー指定のプリフィックスを使用してください。
* 
directory ライブラリのタグは、JSP ページでのみ使用でき、スタンドアロンタスクでは認識されません。
createObjects
createObjects タグは、指定された LDAP ディレクトリサービス内に新しいエントリを作成します。
このタグを実行する前に、LDAP エントリを定義する要素が含まれている Info*Engine グループを作成する必要があります。各要素には以下の属性が必要です。
dn - エントリの識別名
objectClass - エントリに関連付けるオブジェクトクラスLDAP サーバーに設定されたディレクトリスキーマから有効な値を判断します。
オブジェクトクラスに追加属性が必要な場合は、各要素に属性を追加できます。
このタグブロックに param タグをネストし、GROUP_IN パラメータの値を指定することによって、必要な Info*Engine 入力グループを指定します。
このタグブロックに param タグをネストすることによって、必要なパラメータを指定します。
構文
<iedir:createObjects uri="service_URL">
<iedir:param name="GROUP_IN" data="group_name"/>
</iedir:createObjects>
属性の説明
必須属性: uri
uri
新しいエントリの作成時に使用するディレクトリサービスを識別する LDAP URL を指定します。たとえば、以下の URL を入力すると、ホストとベースエントリが myHost.myState.myCompany.com として識別されます。
ldap://myHost.myState.myCompany.com
この属性は必須です。
以下の例は、ページが Info*Engine の directory タグライブラリと core タグライブラリのタグを使用し、タグに iedir および ie プリフィックスを使用することを宣言します。task タグブロックは入力として使用される要素のグループを作成し、createObjects タグブロックは myHost.myCompany.com ディレクトリサービス内に LDAP エントリを作成します。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie" %>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/directory"
prefix="iedir" %>
<ie:task uri="ldaptask.xml">
<ie:param name="GROUP_OUT" data="ldap_group"/>
</ie:task>
<iedir:createObjects
uri="ldap://myHost.myCompany.com">
<iedir:param name="GROUP_IN" data="ldap_group"/>
</iedir:createObjects>
deleteObject
deleteObject タグは、LDAP ディレクトリサービスから 1 つの LDAP リーフエントリを削除します。
構文
<iedir:deleteObject uri="entry_URL"/>
属性の説明
必須属性: uri
uri
削除する 1 つの LDAP リーフエントリを識別する LDAP URL を指定します。
この LDAP URL のフォーマットは以下のとおりです。
ldap://hostname:port/search_base
この URL の各部を適切な値に置換してください。
hostname:port は LDAP ディレクトリを示します。
search_base は削除するリーフエントリを識別する識別名です。
この属性は必須です。
以下の例は、ページが Info*Engine の directory タグライブラリのタグを使用し、タグに iedir プリフィックスを使用することを宣言します。deleteObject タグは、myCompany.com にあるディレクトリサービスから com.mycompany.myHost.jAdpater エントリを削除します。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/directory"
prefix="iedir" %>
<iedir:deleteObject
uri="ldap://myCompany.com/dc=jAdapter,dc=myHost,dc=myCompany,dc=com"/>
listObjects
listObjects タグは、指定されたベースディレクトリエントリのすぐ下にある LDAP ディレクトリエントリの相対識別名である要素が含まれている Info*Engine グループを作成します。グループ内の各要素は、ベースエントリを基準にした識別名である 1 つの属性から構成されています。
指定されたベースエントリのすぐ下にエントリがない場合は、空のグループが返されます。
ネストされた param タグ上で、GROUP_OUT パラメータを使用して作成される Info*Engine グループを指定します。
このタグブロックに param タグをネストすることによって、必要なパラメータを指定します。
構文
<iedir:listObjects uri="base_level_URL">
<iedir:param name="GROUP_OUT" data="group_name"/>

</iedir:listObjects>
属性の説明
必須属性: uri
uri
エントリの検索に使用するベースディレクトリエントリを識別する LDAP URL を指定します。たとえば、以下の URL を入力すると、myCompany.com ホストが識別され、ベースエントリが myHost.myState.myCompany.com に設定されます。
ldap://myCompany.com/dc=myHost,dc=myState,dc=myCompany,dc=com
この属性は必須です。
以下の例は、ページが Info*Engine の directory タグライブラリのタグを使用し、タグに iedir プリフィックスを使用することを宣言します。listObjects タグブロックは、dc=myHost,dc=myCompany,dc=com ベースエントリの下の myCompany.com にあるディレクトリサービス内のエントリから ldap_myHost グループを作成します。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/directory"
prefix="iedir" %>
<iedir:listObjects
uri="ldap://myCompany.com/dc=myHost,dc=myCompany,dc=com">
<iedir:param name="GROUP_OUT" data="ldap_myHost"/>
</iedir:listObjects>
queryObjects
queryObjects タグは、指定された検索基準と一致する LDAP ディレクトリエントリの要素が含まれている Info*Engine グループを作成します。グループ内の各要素は、各エントリ内にある属性から構成されています。各要素内の属性の名前および値は、LDAP ディレクトリエントリ属性の名前および値に対応しています。各要素には少なくとも以下の属性が含まれています。
属性
説明
dn
エントリの識別名
objectClass
エントリに関連付けるオブジェクトクラス
指定された検索基準によってエントリが見つからなかった場合は、空のグループが返されます。
ネストされた param タグ上で、GROUP_OUT パラメータを使用して作成される Info*Engine グループを指定します。
構文
<iedir:queryObjects uri="query_URL">
<iedir:param name="GROUP_OUT" data="group_name"/>
</iedir:queryObjects>
属性の説明
必須属性: uri
uri
LDAP ディレクトリエントリの検索に使用する検索基準を識別する LDAP URL を指定します。
この LDAP URL の一般フォーマットと例については、URI と URL の指定を参照してください。
この属性は必須です。
以下の例は、ページが Info*Engine の directory タグライブラリのタグを使用し、タグに iedir プリフィックスを使用することを宣言します。queryObjects タグブロックは、dc=myHost,dc=myCompany,dc=com ベースエントリの下の myCompany.com にあるディレクトリサービス内に設定されている、objectClass 属性を持つすべての LDAP エントリが含まれた ldap_query グループを作成します。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/directory"
prefix="iedir" %>
<iedir:queryObjects
uri="ldap://myCompany.com/dc=myHost,dc=myCompany,dc=com??sub?objectClass=*">
<iedir:param name="GROUP_OUT" data="ldap_query"/>
</iedir:queryObjects>
updateObjects
updateObjects タグは LDAP ディレクトリサービス内の既存のエントリを更新します。このタグを使用して、新しい属性を既存の LDAP エントリに追加したり、既存の属性を置換したり、削除したりできます。ネストされている param タグの GROUP_IN パラメータを使用して、更新する LDAP 属性を含んでいる Info*Engine グループに名前を付けます。
このタグを実行する前に、修正する LDAP エントリを定義する要素が含まれている Info*Engine グループを作成する必要があります。各要素には、エントリの識別名である dn 属性が必要です。各要素内の追加属性は、修正する LDAP 属性の名前および値を識別します。
構文
<iedir:updateObjects uri="service_URL" modification="type">
<iedir:param name="GROUP_IN" data="group_name"/>
</iedir:updateObjects>
属性の説明
必須属性: uri
uri
エントリの更新時に使用するディレクトリサービスとベースエントリを識別する LDAP URL を指定します。たとえば、以下の URL は myCompany.com ディレクトリサービスを識別します。
ldap://myCompany.com/
この属性は必須です。
modification
実行する変更のタイプを指定します。以下のタイプのいずれかを入力します。
修正タイプ
説明
ADD
グループ要素で指定されている LDAP 属性を、dn グループ要素属性によって識別される LDAP エントリに追加します。
グループ要素内に指定されている LDAP 属性がすでに LDAP エントリ内に存在する場合は、エラーが返されます。
DELETE
LDAP エントリのグループ要素属性で指定されている dn 以外の LDAP 属性を削除します。各 LDAP エントリは dn グループ要素属性によって識別されます。LDAP エントリ全体を削除するには、deleteObject タグを使用します。
グループ要素内に指定されている LDAP 属性が LDAP エントリ内に存在しない場合は、使用されている LDAP サーバーによって、エラーが返されたり、エラーが返されずに終了したりする可能性があります。
REPLACE
グループ要素内に指定されている既存の LDAP 属性の値を置換します。置換が行われる LDAP エントリは、dn グループ要素属性によって識別されます。
グループ要素内に指定されている LDAP 属性が LDAP エントリ内に存在しない場合は、属性およびその値がエントリに追加されます。
このオプションの属性のデフォルトは REPLACE です。
以下の例は、ページが Info*Engine の directory タグライブラリと core タグライブラリのタグを使用し、タグに iedir および ie プリフィックスを使用することを宣言します。task タグブロックは、入力として使用される要素のグループを作成します。updateObjects タグブロックは、dc=myHost,dc=myCompany,dc=com ベースエントリにある myCompany.com ディレクトリサービス内の LDAP エントリを更新します。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie" %>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/directory"
prefix="iedir" %>
<ie:task uri="ldaptask.xml">
<ie:param name="GROUP_OUT" data="ldap_update"/>
</ie:task>
<iedir:updateObjects
uri="ldap://myCompany.com/dc=myHost,dc=myCompany,dc=com">
<iedir:param name="GROUP_IN" data="ldap_update"/>
</iedir:updateObjects>