ユーザ管理ガイド

     前  次    目次     
ここから内容

UUP EJB の作成

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

Workshop for WebLogic を使用して UUP EJB を作成し、Workshop for WebLogic または Administration Console を使用して UUP をコンフィグレーションできます (WebLogic Portal 8.1 では UUP を手動でコンフィグレーションできましたが、この方法は今後サポートされません)。推奨される 2 つの方法はどちらでもよいわけではなく、いずれか適切な方を選択する必要があります。

どちらを選択するかは、ポータル開発プロセスの段階によって異なります。

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

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

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

 


EntityPropertyManager EJB の作成およびコンフィグレーション

Workshop for WebLogic を使用して EntityPropertyManager EJB を作成およびコンフィグレーションすることが可能です。次に、Workshop for WebLogic で UUP を作成して、Workshop for WebLogic または Administration Console で UUP をコンフィグレーションします。

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

EJB の作成

Workshop for WebLogic または他の開発ツールを使用して、EntityPropertyManager インタフェースのメソッドを実装するステートレス セッション Bean EJB を作成します。

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

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

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

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

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

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

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

EJB のコンフィグレーション

Workshop for WebLogic または Administration Console を使用して、新しい 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. Administration Console にアクセスし、p13n-profile-config.xml ファイルの行を追加または変更することもできます。[コンフィグレーションとモニタ|サービス管理] を選択し、リソース ツリーで [統合ユーザ プロファイル] と UUP を選択します。Administration Console で p13n-profile-config.xml ファイルに変更を加えた後で、アプリケーションを再デプロイします。

 


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

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

WebLogic Portal は、ある LDAP から同じ情報が含まれる別の LDAP サーバに移動するための透過的なフェイルオーバをサポートします。単一の LDAP PropertyManagers を指定して、同じユーザとグループの情報を含む LDAP サーバを指し示すことができます。コンフィグレーションに指定された LDAP サーバの順序によって、前の LDAP サーバからのフェイルオーバの順序が決まります。プライマリ サーバが使用できない場合、プロパティ取得リクエストはセカンダリ サーバに渡る、というように続きます。透過的なフェイルオーバを設定しない場合、LDAP サーバに問題が発生するとトランザクションは失敗します。

透過的なフェイルオーバのコンフィグレーション手順については、表 A-1 を参照してください。

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

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

LDAP UUP および透過的なフェイルオーバのコンフィグレーション

LDAP サーバからプロパティを取得するため、または透過的なフェイルオーバを設定するために LDAP UUP を実装するには、以下の手順を実行します。

  1. WebLogic Portal インスタンスにアプリケーションをすでにデプロイ済みの場合は、サーバを停止します。
  2. Workshop for WebLogic の [マージ済みプロジェクト] ビューでは、ポータル アプリケーションの EJB コンポーネントとしてサンプルの ldap_uup.jar ファイルをデプロイします。このファイルをデプロイするには、<WL-HOME>/wlserver_10.0/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. Ldap Property Manager ブロックで、表 A-1 に示されている複数の <adapter-property> セクションに対するデフォルト設定を検索し、そのデフォルト値を独自の設定に変更します。
      表 A-1 デフォルト設定の置き換え
      デフォルト設定
      アダプタ プロパティ名
      新しい設定
      • ldap://server.company.com:389
      • SunOneLdapServerHost:1234 199.234.1.2 ads.mycompany. com:5678
      • serverURL
      • serverHosts
      両方のプロパティが存在する場合、serverHosts が優先されます。
      • LDAP サーバの URL
      • スペースで区切られた LDAP サーバ ホスト:ポート文字列リスト
      uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
      UserPrincipal
      LDAP サーバのプリンシパル
      Administration Console での設定。デフォルトはなし。
      なし
      LDAP サーバにログイン可能な credentialAlias
      ou=People,o=company.com
      userDN
      LDAP サーバの UserDN
      ou=Groups,o=company.com
      groupDN
      LDAP サーバの GroupDN
      uid
      uid
      uid の代わりとなる LDAP サーバの usernameAttribute 設定
      cn=bea.com
      cn
      cn の代わりとなる LDAP サーバの groupnameAttribute 設定
      30
      connectTimeout
      次にコンフィグレーションされている LDAP サーバにフェイルオーバするまでの接続タイムアウト (秒)この設定は省略可能。
    2. 透過的なフェイルオーバをコンフィグレーションする場合、複数の LDAP サーバをコンフィグレーションするには、serverURL アダプタ プロパティではなく、serverHosts を使用します。serverURL アダプタ プロパティでは、下位互換性のために単一の LDAP サーバのコンフィグレーションのみがサポートされています。
    3. ファイルを保存して閉じます。
  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 サーバで共通ルートを持つ別のブランチに配置されている場合、サブツリー スコープ機能を有効にする必要があります。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 に設定すれば、ユーザ検索は ou=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 のアップグレード

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

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

次の手順を実行して、WebLogic Portal 8.1 で作成された UUP を WebLogic Portal 10.0 の 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. [ソースのアップグレード] ダイアログで [NetUI Project Upgrader] オプションをクリックし、[WebLogic J2EE 共有ライブラリの使用] チェック ボックスを選択します。また、[JSP File Migrator options] をクリックし、[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 10.0 へのアップグレード』を参照してください


ページの先頭       前  次