ユーザ管理ガイド

     前  次    新しいウィンドウで目次を開く   
ここから内容

UUP EJB の作成

WebLogic Portal に実装された UUP サービスを使用すると、LDAP サーバなどの外部システムにユーザ データが格納されている場合でも、単一の論理的な場所でユーザやそのプロパティを追加および管理することができます。このユーザ データは、ユーザ プロファイルに追加できます。

UUP は、Workshop for WebLogic、Administration Console、または手動でコンフィグレーションできます (手動でのコンフィグレーションは推奨しません)。推奨される 2 つの方法はどちらでもよいわけではなく、いずれか適切な方を選択する必要があります。どちらを選択するかは、ポータル開発プロセスの段階によって異なります。

以下のような理由により、UUP は可能な限り手動ではなく Workshop for WebLogic でコンフィグレーションしてください。

Workshop for WebLogic は、[p13n-profile-config.xml] ファイルからの UUP コンフィグレーションを上書きし、ポータル アプリケーションとは別に、変更点をデプロイメント計画に格納します。

いずれのタイプの UUP も、手動でコンフィグレーションする既存の UUP よりも優先されます。古いバージョンの WebLogic Portal で手動により作成した既存の UUP は、Administration Console または Workshop for WebLogic でコンフィグレーションする新しい UUP と共存可能です。

WebLogic Portal 8.1 では、テキスト エディタを使用して UUP EJB を作成し、[p13n-ejb.jar] ファイル内の [ejb-jar.xml] ファイルおよび [weblogic-ejb-jar.xml] ファイルに適切な記述子を追加することができました。WebLogic Portal 9.2 でもこの手動による方法は使用できますが、管理およびアップグレードが困難なため、この方法はお勧めしません。この方法を使用するときには、アーカイブ ファイルを unjar で展開し、各 XML ファイルの記述子を変更した後、変更内容を反映するためにアーカイブの内容を jar 形式にする必要があります。

この章の内容は以下のとおりです。

 


手動での UUP の作成

可能な限り、UUP は手動ではなく Workshop for WebLogic で作成してください。

手動で カスタム UUP を作成して外部ソースからユーザ データを取得する場合は、以下のタスクを実行します。

  1. 外部データを表す EntityPropertyManager EJB を作成します。UUP をコンフィグレーションするために使用する方法に関係なく、この手順を最初に実行します。唯一の例外は、LDAP UUP を使用している場合です。LDAP UUP は LDAP に格納されている外部データを表す EntityPropertyManager EJB です。LDAP は BEA WebLogic Portal に付属しています。
  2. 新しい EntityPropertyManager EJB をコンフィグレーションします。
ヒント : デフォルトの UUP を変更し、LDAP サーバに対して使用することもできます。「LDAP サーバからのユーザ プロファイル データの取得」を参照してください。

この節では、次のトピックについて説明します。

EntityPropertyManager EJB の作成

UUP をコンフィグレーションする 3 つの方法のいずれにおいても、まず EntityPropertyManager EJB を作成します。Workshop for WebLogic または他の開発ツールを使用して、EntityPropertyManager インタフェースのメソッドを実装するステートレス セッション Bean を作成します。

外部ソースのデータを取り込むには、com.bea.p13n.property.EntityPropertyManager リモート インタフェースのメソッドを実装するステートレス セッション Bean を作成する必要があります。EntityPropertyManager は、プロパティ データの永続性を処理し、プロファイル レコードの作成および削除を行うセッション Bean 用のリモート インタフェースです。デフォルトでは、EntityPropertyManager は外部プロパティへの読み込み専用アクセスを提供します。

ヒント : アプリケーションをスコープとするステートレス セッション Bean コンポーネントを作成する方法については、Workshop for WebLogic で手順を参照してください。このトピックを参照するには、[ヘルプ|ヘルプ目次] を選択し、『BEA Workshop for WebLogic Platform プログラマーズ ガイド』を展開して、エンタープライズ JavaBean に関する説明を選択します。

また、このステートレス セッション Bean にホーム インタフェースと実装クラスを含める必要があります。次に例を示す。

作成する実装クラスは、EntityPropertyManagerImpl クラスを拡張できます。唯一の要件は、作成する実装クラスが MyEntityPropertyManager リモート インタフェースの有効な実装であることです。次に例を示す。

推奨される EJB のガイドラインの使用

以下のガイドラインを使用して新しい EJB を作成します。

JAR ファイルをコンフィグレーションし、デプロイするには、次の節に示す手順を実行します。

新しい EntityPropertyManager EJB のコンフィグレーション

WebLogic Portal 9.2 を使用する場合は、「Portal 9.2 による EJB のコンフィグレーション」の手順に従って、新しい EntityPropertyManager EJB をコンフィグレーションします。できるだけこれらの手順を使用して新しい EJB をコンフィグレーションします。

WebLogic Portal 8.1 を使用する場合は、「Portal 8.1 による EJB のコンフィグレーション」を読み込んで、新しい EntityPropertyManager EJB をコンフィグレーションします。このメソッドは、既存の Weblogic Portal 8.1 EntityPropertyManager EJB をデプロイする場合にのみ使用します。

Portal 9.2 による EJB のコンフィグレーション

WebLogic Portal 9.2 で EntityPropertyManager EJB のコンフィグレーション方法を推奨します。

新しい EntityPropertyManager EJB をコンフィグレーションおよびデプロイするには、次の手順に従います。

  1. WebLogic Portal インスタンスにアプリケーションをすでにデプロイ済みの場合は、サーバを停止します。
  2. Workshop for WebLogic に [マージ済みプロジェクト] ビューで、[p13n-profile-config.xml] ファイルを探します。
  3. [p13n-profile-config.xml] ファイルを右クリックし、EAR プロジェクト フォルダの [/META-INF]ディレクトリにコピーします。 [p13n-profile-config.xml] ファイルに使用できるラインを編集またはコメントを解除して、ファイルを保存します。
  4. EntityPropertyManager EJB をデプロイします。
  5. [p13n-profile-config.xml] ファイルの行を追加または変更し、Administration Console をアクセスすることもできます。[コンフィグレーションとモニタ|サービス管理] を選択し、[統合ユーザ プロファイル] およびリソース ツリーで UUP を選択します。Administration Console で [p13n-profile-config.xml] ファイルに変更を加えた後で、アプリケーションを再デプロイします。

Portal 8.1 による EJB のコンフィグレーション

警告 : この節は、Portal 8.1 EntityPropertyManager EJB のみに適用されます。

EntityPropertyManager EJB の作成」で作成した新しい EntityPropertyManager EJB を使用できるように ProfileManager をコンフィグレーションする必要があります。

新しく作成した EntityPropertyManager EJB のデータにアクセスするには、既存の ProfileManager デプロイメント コンフィグレーションを変更する必要があります。手順については、『WebLogic Portal 8.1』マニュアルを参照してください。

LDAP サーバからのユーザ プロファイル データの取得

WebLogic Portal には、LDAP サーバからプロパティを取得するためのデフォルトの UUP が付属しています。Sun Directory Server、Microsoft Active Directory、OpenLDAP などの LDAP プロトコルをサポートするディレクトリ サーバであれば、LDAP とすることができます。

注意 : UUP を使用して他のユーザ ストアに接続する手順については、『セキュリティ ガイド』を参照してください。

LDAP 認証プロバイダ (ポータル アプリケーション内に対応するセキュリティ レルム) と、LDAP からユーザ プロパティを取得するための LdapPropertyManager UUP は、互いに独立しています。両者はコンフィグレーション情報を共有せず、一方をもう一方と共に使用する場合の要件もありません。セキュリティ レルムはユーザ プロファイルとは無関係です。セキュリティ レルムはユーザとパスワードのデータ、およびユーザとグループの関連付けを提供します。ユーザ プロファイルはユーザとグループのプロパティを提供します。パスワードはプロパティではありません。

LDAP UUP のコンフィグレーション

datasync プロジェクトを作成していない場合は、EAR プロジェクト用 datasync プロジェクトを作成します。LDAP サーバからプロパティを取得するための LDAP UUP を実装するには、以下の手順を実行します。

  1. WebLogic Portal インスタンスにアプリケーションをすでにデプロイ済みの場合は、サーバを停止します。
  2. Workshop for WebLogic のマージ済みプロジェクト ビューでは、ポータル アプリケーションの EJB コンポーネントとしてサンプルの [ldap_uup.jar] ファイルをデプロイします。ファイルをデプロイするには、[<wl-home>/weblogic92/common/p13n/lib] ディレクトリで [ldap_uup.jar] ファイルを検索し、EAR プロジェクト フォルダの [EARContent] ディレクトリにコピーします。
  3. [EARContent] ディレクトリの [/META-INF] ディレクトリで [application.xml] ファイルを検索し、以下の情報を <module> セクションに追加します。
  4. <module>
    <ejb>ldap_uup.jar</ejb>
    </module>

    [application.xml] ファイルを保存します。

  5. EAR プロジェクトの [/META-INF] ディレクトリに [p13n-app-lib.ear] ファイルから [p13n-profile-config.xml] ファイルをコピーし、LdapUUPAdapter という名前の <property-adapter> セクションのコメントを解除します。
  6. ヒント : 既存の [p13n-profile-config.xml] ファイルがすでにあり、それを開いて、更新されたセクションをポータル EAR ディレクトリの [/META-INF] ディレクトリの [p13n-profile-config.xml] ファイルにコピーします。
  7. ポータル EAR ディレクトリで、[/META-INF/p13n-profile-config.xml] ファイルを開きます。 (ライブラリ モジュールからまだこのファイルをコピーしていない場合は、この段階でコピーします)。このファイルは、LdapUUPAdapter というコメント付きブロックが含まれています。このセクションのコメントを解除し、再コンフィグレーションします。次の手順に従います。
    1. LdapUUPAdapter ブロックで、表 A-1 に示されている複数の <adapter-property> セクションに対するデフォルト設定を検索し、そのデフォルト値を独自の設定に変更します。テンプレート ファイルでは、手順についても説明します。
      表 A-1 デフォルト設定の置き換え
      アダプタ プロパティ名
      デフォルト値
      新しい値
      serverURL
      ldap://<your ldap server host>:<your ldap server port>
      例えば、ldap://SunOneLdapServer: 12341
      LDAP サーバの host:port 文字列
      UserPrincipal
      uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
      LDAP サーバのプリンシパル
      なし
      Administration Console での設定。デフォルトはなし。LDAP サーバにログインするために資格を使用しない場合、このプロパティをコンフィグレーションしないでください。
      LDAP サーバにログイン可能な credentialAlias
      userDN
      ou=People,o=company.com
      LDAP サーバの UserDN
      groupDN
      ou=Groups,o=company.com
      LDAP サーバの GroupDN
      uid
      uid
      uid の代わりとなる LDAP サーバの usernameAttribute 設定
      cn
      cn=bea.com
      cn の代わりとなる LDAP サーバの groupnameAttribute 設定
    2. ファイルを保存して閉じます。
  8. LDAP キャッシュを作成します。キャッシュの名前を [p13n-profile-config.xml] ファイルのアダプタ パラメータ ldapPropertyCacheName で指定します。キャッシュの名前のデフォルト値は ldapPropertyCache です。Administration Console でキャッシュを作成する方法については、『キャッシュ リファレンス ガイド』を参照してください。
  9. LDAP サーバのプロパティを Administration Console に表示し、パーソナライゼーション、委託管理、および訪問者の資格に関するルールの定義に使用できるようにするには、ldap.usr というユーザ プロファイル プロパティ セットを作成し、そのプロパティ セット内に、表示する LDAP プロパティと完全に一致する <property-mapping> 名前のプロパティを作成します。[newldap.usr] ファイルを [datasync プロジェクト] ディレクトリに配置します。datasync プロジェクトは、ポータル EAR プロジェクトに配置する必要があります。
  10. サーバを起動し、アプリケーションをクリーンして再デプロイします。これで、WebLogic Portal の API、JSP タグ、およびコントロールを介して LDAP サーバのプロパティにアクセスできます。
  11. 接続時に、LDAP サーバのユーザ名とパスワードが必要な場合、Administration Console を起動し、[コンフィグレーションとモニタ|サービス管理] を選択して設定します。リソース ツリーで統合ユーザ プロファイルを選択し、LDAP UUP を選択します。資格エリアス アダプタ プロパティにマップされたユーザ名とパスワードを入力します。アプリケーションを再デプロイします。既存の LDAP ユーザとしてログインして変更を検証します。
  12. この手順を確認するには、Administration Console に移動し、[ユーザ、グループ、およびロールユーザ管理] を選択して、特定のユーザの LDAP プロパティがユーザのプロファイルに表示されているかを確認します。

    ヒント : 資格エリアスでは、ユーザ名とパスワードが必要です。LDAP サーバのユーザ名とパスワードが必要でない場合は、p13n-profile-config.xml ファイルの credential-alias 行を削除します。

ユーザおよびグループの検索の有効化

ユーザが、LDAP サーバの共通ルートの別のブランチに配置されている場合、subtree scope 機能を有効にする必要があります。ldap_uup.jar ファイル内の LdapPropertyManager EJB では、LDAP スキーマを調べることによって、多値 LDAP 属性と単値 (またはフラット) LDAP 属性の判別、複数の userDN および groupDN の許可、ならびに LDAP サーバ内のユーザとグループの SUBTREE_SCOPE 検索を実行できます。

多値 LDAP 属性と単値 LDAP 属性の判別では、プロパティが単値か多値かを判別するときに LDAP スキーマが使用されるよう指定します。手順については LDAP サーバ スキーマを参照してください。

ポータルでは、<adapter-property> 行でこれらのオプション設定をコンフィグレーションし、以下のメソッドのいずれかを使用してLDAP スキーマを指定することができます。

p13n-profile-config.xml ファイルには、コメント付きブロックとしてサンプル設定が用意されています。

この機能は、ユーザとグループに対して SUBTREE_SCOPE 検索を使用できる変更も実装します。また、複数のベース userDNgroupDN の指定も可能にします。複数のベース DN は、SUBTREE_SCOPE 検索が有効か無効かに関係なく使用できます。

SUBTREE_SCOPE 検索は、ベース userDN (または groupDN) から始まり、ユーザ名またはグループ名と一致する最初のユーザまたはグループが見つかるまで、そのベース DN のブランチを検索します。

単値を持つ多値 LDAP 属性を使用したルールを記述する場合を除き、[p13-profile-config.xml] ファイルで detectSingleValueFromSchematrue に設定しないでください。/detectSingleValueFromSchema = true を使用すると、各属性の LDAP スキーマをチェックするオーバーヘッドが発生します。デフォルトの動作 (/detectSingleValueFromSchema = false) では、属性が複数の値を持つ場合、属性は (コレクション内に) 多値として格納されるだけです。

ユーザとグループの SUBTREE-SCOPE を有効にするには、次の手順を実行します。

  1. サーバを停止します。
  2. LDAP UUP アダプタの [p13n-profile-config.xml] ファイルの adapter-property-name 要素でブール objectPropertySubtreeScope adapter-property-value を true に設定します。
  3. p13n-profile-config.xml ファイルの userDN および groupDN adapter-property 値を、SUBTREE_SCOPE 検索を開始するベース DN と同じ値に設定します。
  4. たとえば、ou=PeopleA, ou=People, dc=mycompany, dc=com および ou=PeopleB, ou=People, dc=mycompany, dc=com にユーザが存在する場合、userDNou=People, dc=mycompany, dc=com に設定すれば、ユーザ検索は Peopleou=People から始まり、それぞれのブランチ (ou="PeopleA"ou="PeopleB") に進み、これらのユーザのプロパティを LDAP サーバから取得できます。

    LDAP サーバでは、ベース userDN (またはベース groupDN) のブランチに重複するユーザ (またはグループ) を作成しないでください。たとえば、LDAP サーバでは、uid="userA" のユーザを PeopleA ブランチと PeopleB ブランチの両方に作成できる場合があります。この場合、ldap_uup.jar.jar ファイルの LdapPropertyManager は、最初に検索された userA のプロパティ値を返します。

    注意 : SUBTREE_SCOPE 検索が提供する柔軟性が必要な場合を除き、この変更を有効にしない (objectPropertySubtreeScopetrue に設定しない) でください。

    SUBTREE_SCOPE 検索に代わる方法として、複数のベース DN をコンフィグレーションして、objectPropertySubtreeScope の設定は false のままにしておく方法があります (この方法は、ベース DN が複数かどうかには関係ありません)。ベース DN のブランチより下位は検索されないので、各ベース DN はユーザ (またはグループ) が格納されている DN である必要があります。検索は、最初に一致するユーザまたはグループが見つかるまで、ベース DN 間を循環します。

    新しい [p13n-profile-config.xml] ファイルは詳細なコメント付きであり、複数の DN、複数の usernameAttributes (または groupnameAttributes)、および objectPropertySubtreeScope フラグの設定方法を説明しています。

  5. ファイルを保存して閉じます。
  6. サーバを起動し、アプリケーションを再デプロイします。

 


手動での UUP の編集

8.1 UUP がある場合は、UUP のコンフィグレーション設定またはプロパティを変更するには、EntityPropertyManager EJB ejb-jar.xml 記述子が外部データを表すように変更し、新しい EntityPropertyManager EJB を使用できる ProfileManager を編集して再デプロイし、デフォルトの UUP が LDAP サーバとして機能するように変更します。

適切なファイルの検索および編集に関する手順については、「手動での UUP の作成」を参照してください。

 


UUP のアップグレード

WebLogic Portal 8.1 から UUP をアップグレードする場合は、p13n_ejb.jar ファイルが削除され、新しい WebLogic Portal 9.2 バージョンのファイルに置き換えられます。新しい [p13n_ejb.jar] ファイルは、WebLogic Portal 9.2 および 10.0 に付属のライブラリ モジュールにパッケージ化されます。

ヒント : p13n_ejb.jar ファイルの設定を変更してその変更を保持する場合は、Workshop for WebLogic を使用して p13n-profile-config.xml ファイルを作成する必要があります。既存の設定を該当する XML ファイルに追加し、デプロイします。

次の手順を実行して、WebLogic Portal 8.1 で作成された UUP を WebLogic Portal 9.2 の UUP にアップグレードします。

  1. Workshop for WebLogic を起動し、新しいワークスペースを作成します。
  2. 新しいポータル ドメインを作成します。ポータル EAR プロジェクトは作成しないでください。新しいドメインを作成する手順については、『ポータル開発ガイド』を参照してください。
  3. [ファイル|インポート] を選択して、Portal 8.1 UUP アプリケーションを新しい環境にインポートします。
  4. [選択] ダイアログで、[Workshop 8.1 アプリケーション] を選択し、[次へ] をクリックします。
  5. [アプリケーションのインポート] ダイアログの [参照] をクリックして、8.1 UUP アプリケーションを探します。.work ファイルを選択し、[開く] をクリックします。UUP アプリケーションのチェック ボックスが選択されていることを確認し、[次へ] をクリックします。画面は図 A-1 のようになります。
  6. 図 A-1 8.1 UUP アプリケーションの検索


    8.1 UUP アプリケーションの検索

  7. [ソースのアップグレード] ダイアログで、[WebLogic 9.0 J2EE 共有ライブラリの使用] チェック ボックスを選択し、必要に応じて [BEA NetUI タグを Apache Beehive タグで置き換えます] チェック ボックスも選択します。[終了] をクリックします。
  8. アップグレードが完了したら、以下のアクションが実行済みであることを確認します。
    • UUP アプリケーションの [EARContent] ディレクトリから [p13n-ejb.jar] ファイルが削除されている。
    • UUP アプリケーションの [EARContent] ディレクトリに UUP EJB JAR ファイル (たとえば、[UUPExample.jar]) が存在する。
    • UUP EJB JAR ファイルが、[<UUPApplication>/EARContent/META-INF/] ディレクトリ内の [application.xml] ファイルのモジュール エントリで参照される。
    • たとえば、[<UUPApplication>/EARContent/META-INF/] ディレクトリの [p13n-cache-config.xml] ファイルに次のキャッシュ エントリが追加された。
    • <p13n:cache>
      <p13n:name>UUPExampleCache</p13n:name>
      <p13n:description>Cache for UUP Example</p13n:description>
      <p13n:time-to-live>60000</p13n:time-to-live>
      <p13n:max-entries>100</p13n:max-entries>
      </p13n:cache>
    • data/src/userprofiles/ ディレクトリ (または Datasync フォルダが存在するディレクトリ) にユーザ プロファイル ファイル (たとえば、UUPExample.usr) が存在することを確認する。
  9. [サーバ] タブでサーバを選択し、そのサーバを右クリックし、[プロジェクトの追加および除去] を選択して UUP アプリケーションを WebLogic Server に関連付けます。[使用可能プロジェクト] セクションの UUP アプリケーションを選択し、[追加]、[終了] の順にクリックします。
  10. アプリケーションをビルドして公開します。WebLogic Server Administration Console を起動して [デプロイメント] をクリックし、アプリケーションを確認します。UUP アプリケーションがアクティブであることを確認します。次に、ツリーを展開して UUP JAR ファイルが EJB として表示されていることを確認し、UUP アプリケーションを開きます。

その他の非ポータル アプリケーションを WebLogic Portal 8.1 からアップグレードする方法の詳細については、『WebLogic Portal 9.2 へのアップグレード』を参照してください。


  ページの先頭       前  次