連合ポータル ガイド

     前  次    目次     
ここから内容

コンシューマの資格

コンシューマの資格によって、プロデューサはコンシューマに提供するポートレットを登録プロパティに基づいて判断できます。

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

 


はじめに

WSRP によって、コンシューマは登録時に情報をプロデューサに渡すことができます。この登録情報に基づいたロールは、WebLogic Portal のユーザ管理機能を使用して作成できます。その後、このロールを使用して、特定のコンシューマに特定のポートレットについての資格を付与することができます。この機能によって、プロデューサは特定のコンシューマに提供するポートレットを制御できます。

登録プロパティに基づいてコンシューマに資格を付与するには、次の手順に従います。

  1. Workshop for WebLogic を使用して、アプリケーション定義のプロパティ セットを 1 つ以上定義します。「アプリケーション プロパティ セットの作成」を参照してください。
  2. プロデューサ上のポータル Web アプリケーションごとに wsrp-producer-config.xml コンフィグレーション ファイルを変更します。「プロデューサ コンフィグレーション ファイルの編集」を参照してください。
  3. アプリケーション定義のプロパティ セットに基づいてユーザの資格を定義します。「コンシューマの資格の定義」を参照してください。

コンシューマ側にはコンフィグレーションは必要ありません。すべてのコンフィグレーションは、プロデューサ側で実行されます。プロデューサが正しくコンフィグレーションされると、サービス記述要求に応答して必要な登録情報がコンシューマに送信されます。コンシューマでは、WebLogic Portal Administration Console または Workshop for WebLogic のいずれかからプロデューサが要求した登録情報の入力を求めるメッセージが表示されます。

通常、コンシューマの資格は、コンシューマごとにアクセスを許可するポートレットが異なる場合に使用されます。たとえば、複数のパートナがある場合を考えます。プロデューサの管理者は、各登録プロパティをユニークな値のセットで作成できます。このため、各パートナにそれぞれユニークな登録プロパティ値を指定できます。パートナがプロデューサを登録する際、それぞれの値を登録プロパティとして入力するように求められるため、パートナはそれぞれに合ったポートレット セットを受け取る資格が得られます。

 


プロデューサのコンフィグレーション

この節では、登録プロパティに基づいてコンシューマに資格を付与するようにプロデューサをコンフィグレーションする方法について説明します。

ヒント : コンシューマの資格を定義できるのは、複雑なプロデューサの場合のみです。複雑なプロデューサの詳細については、「プロデューサとコンシューマについて」を参照してください。

基本的な手順は、次のとおりです。

アプリケーション プロパティ セットの作成

登録プロパティに基づいてコンシューマの資格を作成するには、まず、Workshop for WebLogic を使用してアプリケーション定義のプロパティ セットを 1 つ以上作成します。これらのプロパティ セットを使用して、コンシューマが登録時にプロデューサに渡す必要がある値を指定します。

ヒント : アプリケーション定義のプロパティ セットは、Datasync プロジェクトで作成する必要があります。アプリケーション定義のプロパティ セットを作成する方法の詳細については、『対話管理ガイド』を参照してください。

たとえば、一連の識別キーワードを含むプロパティ セットを作成する場合があります。プロデューサがコンシューマから登録情報を受け取ると、受け取ったキーワードを訪問者の資格に基づいて評価し、特定のポートレットのセットを返します。登録されているキーワードが異なると、ユーザに返されるポートレットのセットも異なります。

作成したプロパティ セットは、Workshop for WebLogic で datasync プロジェクトの src/propset フォルダに表示されます。図 12-1 は、2 つのプロパティ セットを含むサンプルの propset フォルダを示します。

図 12-1 アプリケーション定義のプロパティ セット

アプリケーション定義のプロパティ セット

プロデューサ コンフィグレーション ファイルの編集

コンシューマ登録プロパティとオプションのデフォルト値を含むプロパティ セットを作成したら、これらのプロパティ セットをプロデューサに認識させる必要があります。このためには、コンフィグレーション ファイル wsrp-producer-config.xml を編集します。登録の際、コンシューマに送信されるプロパティ セットは、このコンフィグレーション ファイルに示されているもののみです。このコンフィグレーション ファイルには、<registration> 要素が含まれています。この要素には <property-uri> 要素が含まれており、これによって、そのプロデューサに定義した各プロパティ セットへのパスが指定されます。デフォルトで、プロデューサにはパス /wsrpregistrationproperties が含まれています。.propset ファイルはそのディレクトリに格納できるほか、必要であれば他のディレクトリを作成して <property-uri> 要素に一覧表示できます。

ヒント : デフォルトで、wsrp-producer-config.xml ファイルは J2EE 共有ライブラリに格納されています。ファイルを編集するには、J2EE 共有ライブラリからワークスペースにコピーする必要があります。このためには、Workshop for WebLogic でマージ済みプロジェクト ビューに切り替えます。プロデューサ Web アプリケーションの WEB-INF ディレクトリで、wsrp-producer-config.xml (斜体で表示) ファイルを右クリックし、[プロジェクトにコピー] を選択します。コンフィグレーション ファイルを J2EE 共有ライブラリからファイルシステムにコピーすれば、編集できます。ファイルに行ったローカルでの変更は、J2EE 共有ライブラリ バージョンよりも優先されます。

コード リスト 12-1 に、wsrp-producer-config.xml ファイルの <registration> 要素のサンプルを示します。/wsrpregistrationproperties ディレクトリが作成されます。このディレクトリは、デフォルトでは wsrp-producer-config.xml ファイルでコンフィグレーションされます。このディレクトリにあるプロパティ セットは、登録プロパティとして自動的にコンシューマに送信されます。さらに、/wsrp ディレクトリのすべてのプロパティ セットも登録プロパティとしてコンシューマに送信されます。<property-uri> 要素で指定されるパスは、各プロデューサ Web アプリケーションの META-INF/data ディレクトリの相対パスです。/wsrp というディレクトリ名はサンプルです。どのようなディレクトリ名を選択しても、そこにプロパティ セットを作成できます。<property-uri> 要素を使用して特定のプロパティ セットを指定しない場合、WebLogic Portal はすべてのアプリケーション定義のプロパティ セットを登録プロパティにインポートします。

コード リスト 12-1 登録要素

<service-config>
<registration required="false" secure="false">
<property-uri>/wsrpregistrationproperties</property-uri>
            <property-uri>/wsrp</property-uri>
</registration>
<service-description secure="false" supports-method-get="true"/>
<markup secure="false" rewrite-urls="true" transport="string"/>
<portlet-management required="true" secure="false"/>
</service-config>

isStrict キーワードは、表 12-1 に指定したように、特定の場合に登録が失敗する <registration> キーワードです。

表 12-1 isStrict キーワード
isStrict の値
説明
isStrict = true
次の両方が true の場合、登録は失敗する。
  • コンシューマにより、一連の制限付きの値が定義された登録プロパティにプロパティ値が提供される。
  • 提供された値が一連の制限付きの値の範囲外である。
isStrict = false
(デフォルト) コンシューマが登録プロパティ セットに関連付けられている一連の値の範囲外の値を送信する場合、ユーザは登録できるが登録値は保存されない。この場合、これらの値を必要とする資格を付与されたポートレットはコンシューマに提供されない。

isStrict キーワードは、<registration> 要素の一部です。コード リスト 12-2 に、isStrict キーワードを太字で示します。

コード リスト 12-2 isStrict キーワード
<service-config>
   <registration required="true" secure="false" isStrict="true">
      <property-uri>/wsrpregistrationproperties</property-uri>
      <property-uri>/wsrp</property-uri>
</registration>
   </service-config>

コンシューマの資格の定義

コンシューマの登録に使用するプロパティ セットを作成して wsrp-producer-config.xml ファイルに追加したら、そのプロパティ セットに基づいて訪問者の資格を作成できます。

コンシューマの登録に使用するロール式は、WebLogic Portal Administration Console で定義できます。図 12-2 は、role1 という訪問者ロールで選択されている [ロール式] タブを示します。

図 12-2 [ロール式] タブ

[ロール式] タブ

ロール式を使用すれば、コンシューマが訪問者の資格ロールに属すかどうかを動的に判断できます。各ポートレットは、そのロールのメンバーシップに基づいて提供できます。

Administration Console で訪問者の資格を作成するには、次の手順に従います。

  1. 訪問者ロールを作成します。
  2. ロールにコンシューマの登録式を 1 つ以上定義します。
  3. ロールに基づいて特定のポートレットに資格を付与します。

たとえば、プロパティ p1 が red、blue、green のいずれかに等しい場合、そのコンシューマはロール メンバーと考えられる、といったロール式でロールを定義できます。プロデューサは、そのロールについて資格が付与されたすべてのポートレットをコンシューマに返します。図 12-3 に、WebLogic Portal Administration Console の [条件の追加] ダイアログを示します。このダイアログを使用して、ロール式を定義します。コンシューマ登録の資格を作成する際、[条件の種類] ドロップダウン メニューから [コンシューマの登録が次の値を持つ] オプションを選択します。

図 12-3 登録プロパティの設定

登録プロパティの設定

訪問者資格の設定の詳細については、このガイドでは扱いません。このトピックの詳細については、『セキュリティ ガイド』を参照してください。

コンシューマ登録ロールでポートレットに資格を付与するには、次の手順に従います。

  1. Administration Console で、資格を付与するポートレットを選択します。
  2. [資格] タブを選択します。
  3. [ロールの追加] をクリックします。
  4. [ロールの追加] ダイアログを使用してポートレットに追加するロールを選択し、[保存] をクリックします。図 12-4 に示すように、[リソースへの機能の資格付与] ダイアログが表示されます。
注意 : コンシューマの登録資格に適用されるのは、[コンシューマ機能] カラムに示される [表示] オプションのみです。[コンシューマ機能] カラムの [表示] を選択した場合、設定できるその他の機能は、[機能] カラムの下にある [表示] 機能のみです。このようにすれば、ポートレットはローカルとリモートのどちらとしても表示できます。[機能] の下に示されているその他のオプション ([編集]、[削除]、[最小化]、[最大化]) は、コンシューマ登録について無効になります。
図 12-4 [リソースへの機能の資格付与] ダイアログ

[リソースへの機能の資格付与] ダイアログ

 


コンシューマの登録

登録プロパティを要求するようにコンフィグレーションされているプロデューサでコンシューマを登録する場合、プロデューサはそれらのプロパティの値を指定するようにコンシューマに求めます。Workshop for WebLogic の [登録] ダイアログで、一連の拡張登録プロパティとオプションのデフォルト値が追加されます。このダイアログは、リモート ポートレットを作成しようとすると表示されます。コンシューマが続けて発行する要求ごとに、プロデューサはこれらの登録プロパティを取得して資格の決定に使用します。

図 12-5 に、登録プロパティを必要とするプロデューサに表示される [登録] ダイアログを示します。この例では、2 つのプロパティ、reg1 と reg2 が要求されています。ユーザが入力したプロパティ値はプロデューサに送信されます。プロデューサは値を取得して保存します。次の要求で、プロデューサは保存されている登録値を必要な登録値と比較します。登録値が受け入れられると、プロデューサはその登録値を使用してコンシューマが属すロールを判断します。コンシューマのロールが決まると、プロデューサは資格のあるポートレットのみをコンシューマに返します。

図 12-5 [登録] ダイアログ

[登録] ダイアログ

ヒント : プロデューサが登録されると、コンシューマはそのプロデューサに getServiceDescription 要求を送信します。プロデューサの応答には、<registration> 要素が含まれます。この要素には、プロデューサが必要とする登録プロパティのタイプのリストを含みます。コンシューマは、登録ダイアログに適切なフィールドを表示します。ユーザはこれらのフィールドに入力し、登録要求で送信します。getServiceDescription とその他の WSRP 操作の詳細については、「連合ポータルのアーキテクチャ」を参照してください。

 


登録プロパティの変更

WebLogic Portal Administration Console を使用して、すでにコンシューマに登録されているプロデューサの登録プロパティを変更できます。コンシューマでプロデューサを再登録すると、これまでそのコンシューマで使用していたポートレットの一部が使用できなくなったり、新しくポートレットが使用できるようになります。Administration Console を使用してプロデューサの登録プロパティを変更する方法の詳細については、「プロデューサ登録プロパティの変更」を参照してください。


ページの先頭       前  次