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 を指定します。
この属性は必須です。
例
以下の例は、ページが 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>