![]() ![]() ![]() ![]() |
コンシューマの資格によって、プロデューサはコンシューマに提供するポートレットを登録プロパティに基づいて判断できます。
WSRP によって、コンシューマは登録時に情報をプロデューサに渡すことができます。この登録情報に基づいたロールは、WebLogic Portal のユーザ管理機能を使用して作成できます。その後、このロールを使用して、特定のコンシューマに特定のポートレットについての資格を付与することができます。この機能によって、プロデューサは特定のコンシューマに提供するポートレットを制御できます。
登録プロパティに基づいてコンシューマに資格を付与する基本的な手順は次のとおりです。
wsrp-producer-config.xml
コンフィグレーション ファイルを変更します。「プロデューサ コンフィグレーション ファイルの編集」を参照してください。
コンシューマ側にはコンフィグレーションは必要ありません。すべてのコンフィグレーションは、プロデューサ側で実行されます。プロデューサが正しくコンフィグレーションされると、サービス記述要求に応答して必要な登録情報がコンシューマに送信されます。コンシューマでは、WebLogic Portal Administration Console または Workshop for WebLogic のいずれかからプロデューサが要求した登録情報の入力を求めるメッセージが表示されます。
通常、コンシューマの資格は、コンシューマごとにアクセスを許可するポートレットが異なる場合に使用されます。たとえば、複数のパートナがある場合を考えます。プロデューサの管理者は、各登録プロパティをユニークな値のセットで作成できます。このため、各パートナにそれぞれユニークな登録プロパティ値を指定できます。パートナがプロデューサを登録する際、それぞれの値を登録プロパティとして入力するように求められるため、パートナはそれぞれに合ったポートレット セットを受け取る資格が得られます。
この節では、登録プロパティに基づいてコンシューマに資格を付与するようにプロデューサをコンフィグレーションする方法について説明します。
ヒント : | コンシューマの資格を定義できるのは、複雑なプロデューサの場合のみです。複雑なプロデューサの詳細については、「プロデューサとコンシューマについて」を参照してください。 |
登録プロパティに基づいてコンシューマの資格を作成するには、まず、Workshop for WebLogic を使用してアプリケーション定義のプロパティ セットを 1 つ以上作成します。これらのプロパティ セットを使用して、コンシューマが登録時にプロデューサに渡す必要がある値を指定します。
ヒント : | アプリケーション定義のプロパティ セットは、Datasync プロジェクトで作成する必要があります。アプリケーション定義のプロパティ セットを作成する方法の詳細については、『対話管理ガイド』を参照してください。 |
たとえば、一連の識別キーワードを含むプロパティ セットを作成する場合があります。プロデューサがコンシューマから登録情報を受け取ると、受け取ったキーワードを訪問者の資格に基づいて評価し、特定のポートレットのセットを返します。登録されているキーワードが異なると、ユーザに返されるポートレットのセットも異なります。
作成したプロパティ セットは、Workshop for WebLogic で datasync プロジェクトの src/propset フォルダに表示されます。図 12-1 は、2 つのプロパティ セットを含むサンプルの propset フォルダを示します。
コンシューマ登録プロパティとオプションのデフォルト値を含むプロパティ セットを作成したら、これらのプロパティ セットをプロデューサに認識させる必要があります。このためには、コンフィグレーション ファイル 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 はすべてのアプリケーション定義のプロパティ セットを登録プロパティにインポートします。
<service-config>
<registration required="false" secure="false">
<property-uri>/wsrpregistrationproperties</property-uri>
</registration>
<property-uri>/wsrp</property-uri>
<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>
キーワードです。
isStrict
キーワードは、<registration>
要素の一部です。コード リスト 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 という訪問者ロールで選択されている [ロール式] タブを示します。
ロール式を使用すれば、コンシューマが訪問者の資格ロールに属すかどうかを動的に判断できます。各ポートレットは、そのロールのメンバーシップに基づいて提供できます。
Administration Console で訪問者の資格を作成する基本的な手順は次のとおりです。
たとえば、プロパティ p1 が red、blue、green のいずれかに等しい場合、そのコンシューマはロール メンバーと考えられる、といったロール式でロールを定義できます。プロデューサは、そのロールについて資格が付与されたすべてのポートレットをコンシューマに返します。図 12-3 に、WebLogic Portal Administration Console の [条件の追加] ダイアログを示します。このダイアログを使用して、ロール式を定義します。コンシューマ登録の資格を作成する際、[条件の種類] ドロップダウン メニューから [コンシューマの登録が次の値を持つ] オプションを選択します。
訪問者資格の設定の詳細については、このガイドでは扱いません。このトピックの詳細については、『セキュリティ ガイド』を参照してください。
コンシューマ登録ロールでポートレットに資格を付与するには、次を実行します。
注意 : | コンシューマの登録資格に適用されるのは、[コンシューマ機能] カラムに示される [表示] オプションのみです。[コンシューマ機能] の [表示] を選択した場合、設定できるその他の機能は、機能カラムの下にある [表示] 機能のみです。このようにすれば、ポートレットはローカルとリモートのどちらとしても表示できます。[機能] の下に示されているその他のオプション ([編集]、[削除]、[最小化]、[最大化]) は、コンシューマ登録について無効になります。 |
登録プロパティを要求するようにコンフィグレーションされているプロデューサでコンシューマを登録する場合、プロデューサはそれらのプロパティの値を指定するようにコンシューマに求めます。Workshop for WebLogic の [登録] ダイアログで、一連の拡張登録プロパティとオプションのデフォルト値が追加されます。このダイアログは、リモート ポートレットを作成しようとすると表示されます。コンシューマが続けて発行する要求ごとに、プロデューサはこれらの登録プロパティを取得して資格の決定に使用します。
図 12-5 に、登録プロパティを必要とするプロデューサに表示される [登録] ダイアログを示します。この例では、2 つのプロパティ、reg1 と reg2 が要求されています。ユーザが入力したプロパティ値はプロデューサに送信されます。プロデューサは値を取得して保存します。次の要求で、プロデューサは保存されている登録値を必要な登録値と比較します。登録値が受け入れられると、プロデューサはその登録値を使用してコンシューマが属すロールを判断します。コンシューマのロールが決まると、プロデューサは資格のあるポートレットのみをコンシューマに返します。
ヒント : | プロデューサが登録されると、コンシューマはそのプロデューサに getServiceDescription 要求を送信します。プロデューサの応答には、<registration> 要素が含まれます。この要素には、プロデューサが必要とする登録プロパティのタイプのリストを含みます。コンシューマは、登録ダイアログに適切なフィールドを表示します。ユーザはこれらのフィールドに入力し、登録要求で送信します。getServiceDescription とその他の WSRP 操作の詳細については、「連合ポータルのアーキテクチャ」を参照してください。 |
WebLogic Portal Administration Console を使用して、すでにコンシューマに登録されているプロデューサの登録プロパティを変更できます。コンシューマでプロデューサを再登録すると、これまでそのコンシューマで使用していたポートレットの一部が使用できなくなったり、新しくポートレットが使用できるようになります。Administration Console を使用してプロデューサの登録プロパティを変更する方法の詳細については、「プロデューサ登録プロパティの変更」を参照してください。
![]() ![]() ![]() |