ユーザ管理ガイド

     前  次    目次     
ここから内容

ユーザ プロファイルの作成と更新

開発者は、Workshop for WebLogic を使用して、ユーザ プロファイルの追加や編集を行う JSP タグおよびコントロールを作成することができます。ユーザ プロファイルは、ユーザ名と、ユーザに関して収集および格納される追加のプロパティから構成されます。これらのプロパティを使用すると、ポータルでユーザが行う操作をパーソナライズできます。

プロパティは、個人データ、作業関連データ、場所を表すデータ、またはユーザを論理的に分類するその他のデータで構成できます。たとえば、BEA Workshop for WebLogic Platform では、性別雇用日電子メール アドレスなどのプロパティを格納する従業員というプロパティ セットを作成できます。

Workshop for WebLogic を使用して、プログラムによってユーザ プロファイルの作成およびプロファイルのデフォルトのプロパティ値の編集を行います。管理者は、プロファイルのプロパティ値を Administration Console で編集できます。詳細については、「ユーザ プロファイル プロパティの値の編集」を参照してください。

ユーザがポータルにログインするときに、ポータルはプロパティ値にアクセスし、設定したパーソナライゼーション ルールに基づいて、パーソナライズされたコンテンツ、電子メール、入力済みのフォーム、および割引にその値を適用できます。詳細については、『対話管理ガイド』を参照してください。

開発者は Workshop for WebLogic で以下を使用して、プログラムによってユーザ プロファイルのデフォルトのプロパティ値を作成および編集することができます。

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

 


ユーザ プロファイルの作成

ユーザ プロファイルは、使用できるすべてのユーザ プロパティ セットからのユーザのプロパティ値の集合です。ユーザ プロファイルにある個々のメタデータが、ユーザ プロパティと呼ばれます。ユーザ プロファイル プロパティ セットは、格納するプロパティを整理し、特定の目的を持つプロパティ グループに名前を付けるための便利な方法を提供します。プロパティを作成し、パーソナライゼーション、委託管理、または訪問者の資格に関するルールの定義に使用することができます。

ユーザ プロパティは、ユーザの電話番号や電子メール アドレスなどの静的に定義されるプロパティから、ユーザの Web サイトのトラッキング情報などの動的に作成され、維持されるプロパティまで多岐にわたります。「パーソナル」というプロパティ セットには、年齢、性別、結婚歴、住所などのプロパティを含めることができます。「嗜好」という別のプロパティ セットには、趣味、好きな色、興味のあるニュースなどのプロパティを含めることができます。

Workshop for WebLogic で、ユーザ プロファイルの作成およびプロファイルのデフォルト値の編集を行います。プロファイルの値は、Workshop for WebLogic または Administration Console で編集できます。

WebLogic Portal には、共通のプロパティを持つ、CustomerProperties.usr というデフォルトのユーザ プロファイル プロパティ セットが用意されています。

注意 : アプリケーション定義のプロパティ セットを作成し、ユーザまたはグループ以外のエンティティのプロファイル データを格納することもできます。これらのエンティティには、コミュニティおよび WSRP (Web Services for Remote Portlets)、またはアプリケーションのプログラマによって作成されたカスタム エンティティが含まれます。このタイプのプロパティ セットの作成手順については、『対話管理ガイド』を参照してください。

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

ユーザ プロファイル プロパティ セットの作成

WebLogic Workshop では、ユーザ プロファイルおよびプロパティ セットを作成することができます。プロファイルのデフォルト値は、Workshop for WebLogic または Administration Console で編集できます。

ユーザ プロファイルのプロパティ セットを作成するには、以下の手順を実行します。

  1. BEA Workshop for WebLogic Platform のアプリケーション ウィンドウで、data\src\userprofiles フォルダを右クリックし、[新規|その他] を選択します。
  2. ヒント : メニューをカスタマイズして、[新規] メニューの選択肢として [プロパティ セット] を表示することができます。詳細については、『ポータル開発ガイド』を参照してください。
  3. [新規] ダイアログ ボックスで [WebLogic Portal] を展開し、[プロパティ セット] を展開します。
  4. 図 5-1 のように [ユーザ プロパティ セット] を選択し、[次へ] をクリックします。
  5. 図 5-1 ユーザ プロファイル プロパティ セットの作成


    ユーザ プロファイル プロパティ セットの作成

  6. [新しいユーザ プロパティ セット] ウィンドウで、ユーザ プロファイル プロパティ セットの名前を [ファイル名] フィールドに入力します。.usr ファイル拡張子を保持します。たとえば、SalesRegion.usr となります。
  7. [終了] をクリックします。ユーザ プロファイル エディタが表示されます。

プロパティ セットへのプロパティの追加

ユーザ プロファイル プロパティ セットの作成」にある手順に従ってプロパティ セットを作成したら、プロファイルにプロパティを追加してユーザ情報を取得することができます。

ユーザ プロファイルのプロパティ セットにプロパティを追加するには、以下の手順を実行します。

  1. [ナビゲーター] ウィンドウで、ユーザ プロファイルを選択します。
  2. [パレット] ウィンドウで、次のプロパティ タイプのいずれかをエディタ ウィンドウにドラッグします。
    • 単値かつ制限なし - 単値かつ制限なしプロパティに指定できる値は 1 つだけですが、任意の値を入力できます。たとえば、年齢などです。
    • 単値かつ制限付き - 単値かつ制限付きプロパティに指定できる値は 1 つだけであり、値の選択は定義済みリストからのみに制限されます。たとえば、[ブラウザ] プロパティの値は、Internet ExplorerNetscapeOperaMozilla などになります。
    • 多値かつ制限なし - 多値かつ制限なしプロパティには複数の値を指定でき、任意の値を入力できます。たとえば、[電子メール] プロパティには 1 つまたは複数の電子メール アドレスを入力できます。
    • 多値かつ制限付き - 多値かつ制限付きプロパティには複数の値を指定できますが、値の選択は定義済みリストからのみに制限されます。たとえば、[フォーム] プロパティには 1040EZ1040A1040 などのドキュメントを選択できます。
    • 図 5-2 は、プロパティ セット用のプロパティ タイプを示します。

      図 5-2 多値かつ制限付きなどのプロパティ タイプをユーザ プロファイル エディタにドラッグ


      多値かつ制限付きなどのプロパティ タイプをユーザ プロファイル エディタにドラッグ

  3. [プロパティー] タブを選択し、プロパティ値の [データ型] を選択します。ドロップダウン リストから、[Text]、[Numeric]、[Float] (浮動小数点)、[Boolean] (true/false)、または [Date/Time] のいずれかの値を選択します。[Date/Time] プロパティは、必ず java.sql.Timestamp にします。選択したデータ型によって、[] フィールドを編集する際のダイアログ ボックスの表示が異なります。たとえば、Boolean データ型のプロパティは自動的に単値かつ制限付きに設定されます。[データ型] を編集するとデータ型が変更されるため、[] フィールドに入力されていた値は削除されます。
  4. 図 5-3 は、多値かつ制限付きタイプに 3 つの販売地域 (AmericasAPAC、および EMEA) を反映させる方法を示しています。この販売地域プロパティを使用して、パーソナライズされたコンテンツを持つ販売員を対象とすることができます。

    図 5-3 プロパティ エディタでのユーザ プロファイルの詳細の入力


    プロパティ エディタでのユーザ プロファイルの詳細の入力

  5. Workshop for WebLogic のプロパティ エディタの [選択モード] フィールドおよび [値の範囲] フィールドで、プロパティのタイプを変更できます。[パレット] ウィンドウからドラッグしたプロパティのタイプによっては、このフィールドはすでに入力されていることがありますが、単値かつ制限なしから多値かつ制限付きにプロパティを変更できます。
  6. 注意 : [データ型]、[選択モード]、[値の範囲] フィールドに対して変更を加えると、使用可能な値の数が変更されるため、[] フィールドに入力されている値がすべて置き換わります。

    [] フィールドを使用して制限付きタイプの値を入力するか、制限なしタイプのデフォルト値を設定します。省略記号アイコン ([...]) をクリックして値を入力します ([値の範囲] フィールドで [制限付き] を選択した場合は、表示される [プロパティ値の入力] ダイアログ ボックスに値を入力し、入力するたびに [追加] をクリックします。値をすべて入力したら、[OK] をクリックします。[値の範囲] フィールドで [制限なし] を選択した場合は、[プロパティ値の入力] ダイアログ ボックスに値を入力し、[OK] をクリックします。[データ型]、[選択モード]、または [値の範囲] を変更すると、フィールドに入力された値はすべて削除されます)。

    図 5-4 のように、プロパティ エディタに入力した値は、ユーザ プロファイル エディタに表示されます。

    図 5-4 ユーザ プロファイル エディタでのプロパティの表示


    ユーザ プロファイル エディタでのプロパティの表示

  7. すべてのプロパティを追加したら、[ファイル|保存] を選択してファイルを保存します。
  8. Administration Console を使用して、Workshop for WebLogic で設定したユーザ プロファイルを表示します。
警告 : プロパティ コントロールを使用して、プログラムによってプロパティを作成および管理することもできますが、コントロールによって作成されたプロパティは Administration Console には表示されません。これらのプロパティは、プログラムによって変更および更新する必要があります。

 


プロパティおよび値の編集

Workshop for WebLogic を使用して、ユーザ プロファイルおよびプロファイルのデフォルト値を作成できます。プロファイルの値は、Workshop for WebLogic または Administration Console で編集できます。Administration Console でプロパティ セットの値を編集する手順については、「ユーザ プロファイル プロパティの値の編集」を参照してください。

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

プロパティ エディタでのプロパティおよび値の編集

開発者は、Workshop for WebLogic のユーザ プロファイル エディタを使用して、ユーザ プロファイルの作成およびプロファイルのプロパティの追加を行います。その後、各ユーザ プロファイルに含まれるプロパティ値およびそのデフォルト値を編集できます。

Workshop for WebLogic でプロパティおよびその値を変更するには、以下の手順を実行します。

  1. [ナビゲーター] ウィンドウで、プロパティ セット ファイルをダブルクリックします。
  2. 変更するプロパティをユーザ プロファイル エディタで選択します。
  3. プロパティ エディタ ウィンドウで、プロパティまたはその値を変更します。
ヒント : プロパティ値は Administration Console で編集できます。

JSP タグを使用したプロパティおよび値の編集

<profile:getProperty> JSP タグは、特定のプロパティ セットのプロパティ値を取得します。<profile:setProperty> JSP タグは、セッションの現在のプロファイルまたは匿名ユーザ プロファイルのいずれかのプロパティ値を更新します。

通常は、<profile:getProfile> タグの呼び出し後に <profile:getProperty> タグを使用して、セッションが使用するプロファイルを取得します。<profile:getprofile> JSP タグは、ユーザ プロファイルおよびそのプロパティを取得します。<profile:getProperty> および <profile:setProperty> JSP を使用することで、開発者は多数のユーザのプロパティを取得し、迅速に編集することができます。<profile:getProperty> タグの使用後に <profile:getProfile> タグを使用しない場合は、匿名ユーザ プロファイルから特定のプロパティ値が取得されます。

Java クラスの詳細については、「JSP Tag Javadoc」を参照してください。

コード リスト 5-1 のコード サンプルに示されているように、ページ フローで <profile:getProfile> JSP タグを使用して、認証済みユーザ プロファイルを取得することができます。

コード リスト 5-1 <profile:getProfile> タグによる認証済みユーザ プロファイルの取得
<%@ page import="com.bea.p13n.usermgmt.SessionHelper"%>
<%@ taglib uri="http://www.bea.com/servers/p13n/tags/usermanagement"
prefix="profile"%>
<%@ taglib uri="netui-tags-databinding.tld" prefix="netui-data"%>
<%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
Profile is: [<code><%= SessionHelper.getProfile(request) %></code>]<br>
<%-- このタグは、ユーザが認証済みの場合に機能する。
<profile:getProfile profileKey="<%=request.getUserPrincipal().getName()%>"
profileId="profile"/>
Profile is: [<code><%= profile %></code>]<br>

<%-- 通常は、JSP ではなくページ フローの中でこの処理を行う。
<netui-data:declareControl controlId="profileControl"
type="com.bea.p13n.controls.profile.UserProfileControl"/>
<netui-data:callControl resultId="getProfileFromRequestResult"
controlId="profileControl" method="getProfileFromRequest">
<netui-data:methodParameter
value="{request}"></netui-data:methodParameter>
</netui-data:callControl>
Profile is: [<code><netui:label value="
{pageContext.getProfileFromRequestResult}"></netui:label> </code>]<br>

コード リスト 5-2 のコード サンプルに示されているように、ユーザが登録済みの場合は、セッションを参照せずにそのユーザのプロファイルを取得することができます。セッション オブジェクトへのアクセス権がない場合は、この方法が便利です。

コード リスト 5-2 セッションを参照せずに登録済みユーザのプロファイルを取得
import com.bea.p13n.usermgmt.profile.ProfileFactory;
import com.bea.p13n.usermgmt.profile.ProfileNotFoundException;
import com.bea.p13n.usermgmt.profile.ProfileWrapper;
import java.rmi.RemoteException;
public class MyHelper
{
public static String helperMethod(String username)
{
try
{
ProfileWrapper profile =
ProfileFactory.getProfile(username,null);
// ここで何らかの処理を行う
return profile.toString();
}
catch (RemoteException ex)
{
}
catch (ProfileNotFoundException ex)
{
}
return null;
}

匿名ユーザおよび追跡された匿名ユーザの場合は、セッションからプロファイルを取得する必要があります。匿名プロファイルには ID がありません。追跡された匿名プロファイルには ID がありますが、認証に使用できる有効なものではありません。ユーザのプロファイル タイプに応じて、安全にユーザの ID を取得する方法については、コード リスト  5-3 を参照してください。このコード サンプルでは、現在の ProfileWrapper を取得し、ラッパーに関連するユーザ名を取得します。

コード リスト 5-3 現在の ProfileWrapper を取得してユーザの ID を取得
<%@ page import="com.bea.p13n.usermgmt.SessionHelper"%>
Profile Id is: [<code><%= SessionHelper.getUserId(request) %></code>]<br>

返された以下の値を使用して、ユーザ タイプを決定します。

コントロールを使用したプロパティおよび値の編集

開発者は、プロパティ コントロールの getProperty アクションおよび setProperty アクションを使用して、ユーザによるプロパティ セットのプロパティ値の取得、およびセッションの現在のプロファイルまたは匿名ユーザ プロファイルのいずれかのプロパティ値の更新を許可します。

警告 : このコントロールによって作成されたプロパティは、WebLogic Portal Administration Console には表示されません。これらのプロパティは、プログラムを使用して編集および更新する必要があります。

プロパティ コントロールおよびそのプロパティの使用の詳細については、「Javadoc」を参照してください。

コード リスト 5-4 は、プロパティ コントロールの setProperty アクションを使用して ProfileWrapper を編集する方法を示しています。コード サンプルでは、ユーザが好みの色を設定できるようにするために、コントロールを使用してフォームを表示するページ フロー (および関連する JSP) の例を示します。この例では、ユーザ プロファイル プロパティ セットのファイルである Generalnfo.usr が data プロジェクトの \userprofiles フォルダに存在している必要があります。また、単値、制限付きタイプで、テキスト プロパティ FavoriteColor が定義されている必要があります。詳細については、Workshop for WebLogic のヘルプを参照してください。

コード リスト 5-4 ページ フローでこの index.jsp ファイルを使用
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="netui-tags-databinding.tld" prefix="netui-data"%>
<%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
<%@ taglib uri="netui-tags-template.tld" prefix="netui-template"%>
<netui:html>
<body>
<netui:form action="setColor">
<table>
<tr valign="top">
<td>Favorite Color:</td>
<td>
<netui:select dataSource="{actionForm.color}"
defaultValue="{pageFlow.usersColor}"
optionsDataSource="{pageFlow.possibleColors}">
</netui:select>
</td>
</tr>
</table>
<br/>&nbsp;
<netui:button value="Set Color" type="submit"/>
</netui:form>
</body>
</netui.html>

ProfileWrapper オブジェクトを使用したプロパティおよび値の編集

開発者は、ProfileWrapper オブジェクトを直接呼び出すことによって、ユーザ プロファイル プロパティの値を変更することができます。詳細については、「Javadoc」を参照してください。

 


ユーザ プロファイルの取得

実行時の ProfileWrapper サクセサをコンフィグレーションして、ユーザが継承するユーザまたはグループ プロパティのセットを指定する必要があります。ProfileWrapper は、初期化に使用されるプロファイル ID に基づいて適切な ProfileManager セッション Bean にアクセスできる軽量オブジェクトです。ProfileManager には、getAllProfileNames メソッドと listAllProfiles メソッドがあります。listAllProfiles(int pageSize) メソッドは、WebLogic Portal 10.0 で新しく追加されたもので、すべてのユーザ プロファイルまたはグループ プロファイルを効率的に取得します。詳細については、「Javadoc」を参照してください。

 


プロパティ セットおよびプロパティの削除

Workshop for WebLogic を使用すると、プロパティ セットから個々のプロパティを削除したり、プロパティ セット全体を削除することができます。

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

プロパティの削除

プロパティ セットから個々のプロパティを削除するには、以下の手順を実行します。

  1. Workshop for WebLogic のナビゲータ ウィンドウで、data\src\userprofiles フォルダを展開し、作成済みのユーザ プロファイル プロパティ セットをダブルクリックします。
  2. ユーザ プロファイル エディタ ウィンドウでプロパティを選択します。
  3. プロパティを右クリックし、[削除] を選択します。ユーザ プロファイル プロパティ セットからプロパティが削除されます。

プロパティ セットの削除

プロパティ セットを削除するには、以下の手順を実行します。

  1. Workshop for WebLogic のアプリケーション ウィンドウで、data\src\userprofiles フォルダを右クリックし、作成済みのユーザ プロファイルを選択します。
  2. プロパティ セットを右クリックし、[削除] を選択してプロパティ セットを削除します。
  3. [はい] をクリックして削除を続行します。

また、ページ フローのプロパティ コントロールで <profile:removeProperty> JSP タグまたは removeProperty アクションを使用すると、既存のプロパティまたはユーザのプロファイルを削除することができます。詳細については、「Javadoc」を参照してください。

外部ユーザ ストアからのプロパティの使用

UUP を作成して外部ユーザまたはグループ プロパティにアクセスしている場合は、これらのプロパティを使用して、パーソナライゼーション、委託管理、または訪問者の資格に関するルールを定義することができます。

外部ユーザ ストア (たとえば、openLDAP サーバ) のプロパティにアクセスするための UUP を作成後、これらの外部プロパティにアクセスするには、WebLogic Portal の JSP タグ、コントロール、または API を使用する必要があります。これらの外部プロパティは、Administration Console ではまだアクセスすることができません。

パーソナライゼーション、委託管理、または訪問者の資格に関するルールの定義にこれらのプロパティを使用する場合は、Administration Console にこれらの外部プロパティを表示する必要があります。

注意 : 外部ユーザ ストアから表示したプロパティが読み込み専用の場合は、Administration Console でこれらのプロパティを更新することができません。これらのプロパティを書き込み可能にするには、カスタム UUP を書き込み可能にする必要があります。

外部ユーザ ストアからプロパティを使用するには、以下の手順を実行します。

  1. 外部ユーザ ストアの UUP を作成します。詳細については、「UUP のコンフィグレーション」を参照してください。
  2. Workshop for WebLogic で、外部ユーザ ストア用のユーザ プロファイル プロパティ セットを作成します。プロパティ セットに使用する名前は、プロバイダの PropertyMapping の名前と一致させる必要があります。プロパティ セットの名前を検索するには、以下の手順を実行します。
    1. エンタープライズ アプリケーションのルート ディレクトリを参照し、META-INF/p13n-profile-config.xml ファイルを開きます。
    2. <!-- User Profile Manager --> セクションで、以下のような外部ユーザ ストア用の名前エントリを探します。
    3. <property=adapter>
      <name>MyLdapUUP</name>
      <property-mapping>MyExternalPropertySet</property-mapping>
      <ejb-jndi>my_uup.jar#ExternalEntityPropertyManager</ejb.jndi>
      </property-adapter>

      property-adapter 行の下の名前が、新しいプロパティ セットに使用する名前です。名前は、大文字と小文字が区別されます。たとえば、この 2 つの例では、プロパティ セットに ldap.usr または MyExternalStore.usr という名前が付けられます。

    4. WebLogic Portal に用意されている LDAP UUP を使用している場合は、プロパティ セットに ldap.usr という名前を付けます。
  3. 表示する外部ストアのプロパティ名と完全に一致するプロパティ セットにプロパティを追加します。
  4. プロパティ セット ファイルを保存します。
注意 : ポータル アプリケーションをプロダクション環境にデプロイした後で、Workshop for WebLogic でユーザ プロファイルのプロパティを変更した場合、変更を実行中のサーバに移行する必要があります。詳細については、『プロダクション業務ガイド』を参照してください。

ページの先頭       前  次