パーミッションセレクタは、絞込条件を元に、絞り込まれた情報を提供する機能です。
パーミッションセレクタは、1つのカテゴリに属します。
1つのカテゴリには複数のパーミッションセレクタを含めることが可能です。
絞込みは 1 つのカテゴリを選択して行います。カテゴリに複数のパーミッションセレクタがある場合は、各パーミッ ションセレクタで絞り込まれた情報をマージして結果を返却します。
パーミッションセレクタの設定はサーバマネージャ/conf/access-security.xmlで設定します。
カテゴリ
パーミッション セレクタ
図 80 パーミッションセレクタの概要
1.6.1 パーミッションセレクタの設定
パーミッションセレクタは、設定ファイルに記述します。
設定ファイルは、サーバマネージャ/conf/access-security.xmlです。
<access-security>
<permission-config>
<permission-group>
<category>Category</category>
<permission-selector>
<permission-selector-class>PermissionSelectorClass</permission-selector-class>
<init-param>
<param-name>ParamName</param-name>
<param-value>ParamValue</param-value>
</init-param>
</permission-selector>
</permission-group>
</permission-config>
</access-security>
1.6.1.1 permission-group タグ
パーミッションセレクタをグループ化するタグです。
複数設定可能です。
このタグ内、カテゴリ名と複数のパーミッションセレクタを設定します。
categoryタグ
このパーミッショングループにカテゴリ名設定します。
permission-selectorタグ
パーミッションセレクタの情報を設定します。(複数設定可能)
permission-selector-class
パーミッションセレクタの実装クラスをを設定します。
PermissionSelectorインタフェースを実装する必要があります。
init-param
このクラスに渡す初期化パラメータです。(複数指定可能)
このクラスが生成された時に一度だけこのパラメータで初期化します。
作成者:株式会社 NTT DATA イントラマート
Page
891.6.2 パーミッションセレクタの呼出し
パーミッションセレクタの呼出しは以下ように行います。
ページベース開発モデル PermissionManager.doSelectionメソッドを使用して絞込みを行います。
var manager = new PermissionManager(“default”);
var results = manager.doSelection(“selector1”,“input”);
上記の例では、ログイングループID(default)で, ‘input’を絞込条件にカテゴリʻselector1ʼを指定して、絞込みを 行います。
J2EE ベース開発モデル
jp.co.intra_mart.foundation.security.permission.PermissionManagerを用いて、絞込みを行います。
PermissionManager manager = new PermissionManager (“default”);
Collection results = manager.doSelection(“selector1”,“input”);
上記の例では、ログイングループID(default)で, ‘input’を絞込条件にカテゴリʻselector1ʼを指定して、絞込みを 行います。
1.6.3 パーミッションセレクタの返却値について
J2EEベース開発モデルでは、オブジェクトのCollection型で返却します。
ページベース開発モデルでは、Collection 内の各オブジェトを JavaBeans とみなし、そのプロパティを
JavaScriptオブジェクトのプロパティに変換して、Array型で返却します。
Page
90 Copyright 2005 株式会社NTTデータ イントラマート All rights Reserved.1.6.4 パーミッションセレクタのインタフェース
パッケージはjp.co.intra_mart.foundation.security.permissionになります。
1.6.4.1 PermissionSelector インタフェース
パーミッションセレクタの実装クラスに実装するインタフェース。
<<interface>>
PermissionSelector
図 81 PermissionSelector インタフェース
1.6.5 パーミッションセレクタの実装クラス
1.6.5.1 jp.co.intra_mart.foundation.security.permission.MenuPermissionSelector クラス
ユーザ情報を絞込条件にして、ユーザに表示可能なメニューの一覧を返却するクラスです。BaseModule標準の実装クラスです。
カテゴリはaccount-menu
MenuManager. getAccountMenuTreeメソッド内部でのメニュー絞込みに使用しています。
MenuPermissionSelector
<<interface>>
PermissionSelector
図 82 MenuPermissionSelector クラス
作成者:株式会社 NTT DATA イントラマート