uCosminexus Portal Framework ポートレット開発ガイド

[目次][用語][索引][前へ][次へ]


jp.co.hitachi.soft.portal.api.user.PortalUserInfoBean

機能

リポジトリに格納されているユーザ情報を取得します。

Beanの項目

宣言
<jsp:useBean id="user" 
class="jp.co.hitachi.soft.portal.api.user.PortalUserInfoBean" 
scope="session" />

対象スコープ
session,request
requestは性能が低下するためsessionを推奨します。

メソッドの一覧

戻り値のデータ型 メソッド 説明
boolean checkGroup(String groupName) ユーザがグループに所属しているかをチェックします。
boolean checkLoggedIn() ユーザがログイン済みかをチェックします。
boolean checkOu(String ouName) ユーザが組織に所属しているかをチェックします。
boolean commitData() LDAPまたはDBにデータを書き込みます。
void customizeInfoEnd() 排他区間の終了を設定します。
void customizeInfoStart() 排他区間の開始を設定します。区間中では,LDAP/DBへのデータの保存処理は保留されます。
Object getCustomizeInfo(String appKey) ポートレットのカスタマイズ情報を取得します。
String[] getGroupName() ユーザのグループ名をすべて取得します。
String[] getOuName() ユーザの組織単位名をすべて取得します。
Object getParameter(String column) ユーザ独自に定義している属性値を戻します。
Object getUserCustomizeInfo(String appKey) ユーザのカスタマイズ情報を取得します。
String getUserId() ユーザのユーザIDを取得します。
boolean isAccessible(String portletName) ポートレットのアクセス権を判定します。
void removeCustomizeInfo(String appKey) ポートレットのカスタマイズ情報を削除します。
void removeUserCustomizeInfo(String appKey) ユーザのカスタマイズ情報を削除します。
void setCustomizeInfo(String appKey, Object appData) ポートレットのカスタマイズ情報を保存します。
void setRequest(HttpServletRequest req) リクエストオブジェクトを設定します。必ず最初にこのメソッドを呼び出してください。
void setUserCustomizeInfo(String appKey, Object appData) ユーザのカスタマイズ情報を保存します。

メソッドの説明

checkGroup

形式
public boolean checkGroup(String groupName)

機能
ユーザがグループに所属しているかをチェックします。<jsp:getProperty>タグ,および<jsp:setProperty>タグでの操作はできません。

パラメタ
groupName - チェックするグループ名

戻り値
グループに所属しているかどうか

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

checkLoggedIn

形式
public boolean checkLoggedIn()

機能
ユーザがログイン済みかをチェックします。<jsp:getProperty>タグ,<jsp:setProperty>タグでの操作はできません。

パラメタ
なし

戻り値
ログインしているかどうか

例外
なし

checkOu

形式
public boolean checkOu(String ouName)

機能
ユーザが組織に所属しているかをチェックします。<jsp:getProperty>タグ,<jsp:setProperty>タグでの操作はできません。

パラメタ
ouName - チェックする組織単位名

戻り値
組織単位に所属しているかどうか

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

commitData

形式
public boolean commitData()

機能
LDAPまたはDBにデータを書き込みます。

パラメタ
なし

戻り値
true - データ書き込み成功
false - データ書き込み失敗

例外
なし

customizeInfoEnd

形式
public void customizeInfoEnd()

機能
排他区間の終了を設定します。

パラメタ
なし

戻り値
なし

例外
なし

customizeInfoStart

形式
public void customizeInfoStart()

機能
排他区間の開始を設定します。区間中では,LDAP/DBへのデータの保存処理は保留されます。

パラメタ
なし

戻り値
なし

例外
なし

getCustomizeInfo

形式
public Object getCustomizeInfo(String appKey)

機能
ポートレットのカスタマイズ情報を取得します。アプリケーションキーに対応するポートレットのカスタマイズ情報を取得します。指定されたカスタマイズ情報が見つからない場合はnullを戻します。<jsp:getProperty>タグ,<jsp:setProperty>タグでの操作はできません。

パラメタ
appKey - アプリケーションキー

戻り値
カスタマイズ情報

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

注意事項
このメソッドを複数回呼び出すとき(複数のカスタマイズ情報を取得するとき)にエラーが発生した場合は,エラーの発生したカスタマイズ情報だけが取得できません。それ以外のカスタマイズ情報については,正常に取得できます。

getGroupName

形式
public String[] getGroupName()

機能
ユーザのグループ名をすべて取得します。ユーザのグループ名が見つからないときはnullを戻します。

パラメタ
なし

戻り値
ユーザのグループ名

例外
なし

getOuName

形式
public String[] getOuName()

機能
ユーザの組織単位名をすべて取得します。ユーザの組織単位名が見つからないときはnullを戻します。

パラメタ
なし

戻り値
ユーザの組織単位名

例外
なし

getParameter

形式
public Object getParameter(String column)

機能
ユーザ独自に定義している属性値を戻します。multivalueの場合はEnumeration型で戻します。singlevalueの場合はObject型で戻します。指定した属性値が見つからない場合はnullを戻します。<jsp:getProperty>タグ,および<jsp:setProperty>タグでの操作はできません。
パラメタには,リポジトリファイルのマッピング情報の共通項目名(dest)を指定します。getParameterを用いて属性値を取得するには,リポジトリファイルにディレクトリ情報の属性と共通項目名を設定する必要があります。設定方法については,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「リポジトリファイル(Repository.xml)」の説明を参照してください。

パラメタ
column - リポジトリファイルの共通項目名(dest)

戻り値
ディレクトリサーバ上の属性値

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

getUserCustomizeInfo

形式
public Object getUserCustomizeInfo(String appKey)

機能
ユーザのカスタマイズ情報を取得します。アプリケーションキーに対応するユーザのカスタマイズ情報を取得します。指定されたカスタマイズ情報が見つからない場合はnullを返却します。<jsp:getProperty>タグ,および<jsp:setProperty>タグでの操作はできません。
ログインしていない場合,nullを戻します。

パラメタ
appKey - アプリケーションキー(null以外)

戻り値
カスタマイズ情報(シリアライズできる値)

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

注意事項
このメソッドを複数回呼び出すとき(複数のカスタマイズ情報を取得するとき)にエラーが発生した場合は,エラーの発生したカスタマイズ情報だけが取得できません。それ以外のカスタマイズ情報については,正常に取得できます。

getUserId

形式
public String getUserId()

機能
ユーザのユーザIDを取得します。このAPIで取得できるユーザIDは,ユーザ情報のマッピング項目のユーザIDで指定した属性の値です。
ユーザのユーザIDが見つからないときはnullを戻します。

パラメタ
なし

戻り値
ユーザのユーザID

例外
なし

isAccessible

形式
public boolean isAccessible(String portletName)

機能
PortalUserInfoBeanに結び付けられたユーザ(対象ユーザ)が,引数portletNameに指定したポートレット(対象ポートレット)に対してアクセス権があるかどうかを判定します。
なお,対象ユーザがログインしていない状態でこのメソッドを呼び出した場合(ウェルカム画面に配置されたポートレットからこのメソッドを呼び出すなど),対象ユーザを匿名のユーザとみなしてアクセス権を判定します。このとき,ウェルカム画面に対象ポートレットが配置されているかどうか(デプロイされているかどうか)も判定します。
「アクセス権がある」とは,複数ポートレットが表示されている状態で対象ポートレットを表示できること,および対象ポートレットを最大化状態で表示できることを示します。
アクセス権は,対象ポートレットがデプロイされているかどうか,および対象ユーザが対象ポートレットに対してアクセス権があるかどうかの組み合わせにより次のように決定されます。
対象ポートレットのデプロイ状況 対象ユーザの対象ポートレットへのアクセス権 このメソッドの戻り値
未デプロイ あり false
なし
デプロイ済み あり true
なし false

利用手順
  1. HTTPリクエストを受信してからこのメソッドを使用するまでの間にsetRequestメソッドでPortalUserInfoBeanを初期化します。
  2. このメソッドを呼び出します。

パラメタ
portletName - アクセス権を判定するポートレットの名称(null以外)。指定できる最大文字数は,標準APIポートレットの場合は64文字,標準APIポートレット以外の場合は32文字です。

戻り値
true - パラメタに指定したポートレットにアクセス権がある
false - パラメタに指定したポートレットにアクセス権がない

例外
IllegalArgumentException - 次の場合に発生します。
  • 引数portletNameにnullを指定した場合
  • 引数portletNameに空文字列を指定した場合
  • 引数portletNameに33文字以上の文字数を指定した場合(標準APIポートレットの場合は65文字以上の文字数を指定した場合)
IllegalStateException - setRequestメソッドで初期化する前にこのメソッドが呼ばれたとき

注意事項
このメソッドを使用してアクセス権を判定する場合,ページスコープまたはリクエストスコープ(推奨)でキャッシュしてください。
isAccessibleメソッドの結果は,ページまたはリクエストの開始時点でboolean型の変数に格納され,アプリケーションは,その変数の値を用いてアクセス権を判断します。そのため,複数リクエストにわたってキャッシュしないでください。複数リクエストにわたってキャッシュすると,不正な情報を表示するおそれがあります。
この注意事項には,次に示す理由があります。
  • 呼び出しオーバヘッドは無視できない
    boolean型の変数参照とpublicメソッドの呼び出しでは,実行速度が数倍異なるため,オーバヘッドは無視できません。
  • 計算量
    単体コストは,(コミュニティ数)×(コミュニティ単位の平均所属ポートレット数)に比例します。計算量は,O(n)です。したがって,コミュニティ数がおおむね2,000を超える環境でこのメソッドを頻繁に呼び出すと,性能に影響を及ぼします。
    このメソッドを呼び出す回数の目安を次に示します。
      推奨値:リクエスト内で1回/調査対象ポートレット 以内
      最大値:リクエスト内で5回/調査対象ポートレット 以内

removeCustomizeInfo

形式
public void removeCustomizeInfo(String appKey)

機能
アプリケーションキーに対応するポートレットのカスタマイズ情報を削除します。

パラメタ
appKey - アプリケーションキー

戻り値
なし

例外
IllegalArgumentException - 引数が不正またはnullの場合

removeUserCustomizeInfo

形式
public void removeUserCustomizeInfo(String appKey)

機能
アプリケーションキーに対応するユーザのカスタマイズ情報を削除します。<jsp:getProperty>タグ,および<jsp:setProperty>タグでの操作はできません。
ログインしていない場合,何もしません。

パラメタ
appKey - アプリケーションキー(null以外)

戻り値
なし

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

setCustomizeInfo

形式
public void setCustomizeInfo(String appKey,
                            Object appData)

機能
アプリケーションキーに対応するポートレットのカスタマイズ情報をセットします。<jsp:getProperty>タグ,および<jsp:setProperty>タグでの操作はできません。ログインしていないときは何もしません。

パラメタ
appKey - アプリケーションキー
appData - カスタマイズ情報(シリアライズできる値)

戻り値
なし

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

setRequest

形式
public void setRequest(HttpServletRequest req)

機能
リクエストオブジェクトを設定します。PortalUserInfoBeanを使用する場合,必ず最初にこのメソッドを呼び出してください。リクエストの2回目以降は呼び出す必要はありません。ただし,2回目以降は正しいリクエストオブジェクトを設定してください。

パラメタ
req - イベント処理に渡されたリクエストオブジェクト

戻り値
なし

例外
IllegalStateException - 引数が不正またはnullの場合

setUserCustomizeInfo

形式
public void setUserCustomizeInfo(String appKey,
                                Object appData)

機能
アプリケーションキーに対応するユーザのカスタマイズ情報を保存します。<jsp:getProperty>タグ,および<jsp:setProperty>タグでの操作はできません。
ログインしていない場合,何もしません。
ユーザ単位に情報を保存するため,ポートレット間でデータを受け渡せますが,ポートレットごとにアプリケーションキーが衝突しないように注意する必要があります。また,"hptl"で始まるキー名は予約されています。

パラメタ
appKey - アプリケーションキー(null以外)
appData - カスタマイズ情報(シリアライズできる値)

戻り値
なし

例外
IllegalArgumentException - 入力パラメタがnullまたは不正な場合

[目次][前へ][次へ]


[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2009, 2013, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2009, 2013, Hitachi INS Software, Ltd.