1. MDC権限制御
MDCモジュールに対する権限制御で用いるロールやUtilityクラスを標準提供しています。
1.1. ロール
テナント新規作成時に AppAdmin
MdcUser
ロールが作成されます。次の用途を想定しています。
既存のテナントでMDCを利用する場合、初期設定を参考にMDC用のロール、権限などを手動で追加してください。 |
ロール(ロールコード) | 役割 |
---|---|
AppAdmin |
アプリケーション管理者。 |
MdcUser |
アプリケーション利用者。 |
ユーザーがそれぞれロールコードと同名のグループに所属することを条件としています。
1.2. 権限設定
ロールの役割に対応するため、以下の権限が予め設定されています。
権限 | AppAdmin | MdcUser | |
---|---|---|---|
Entity権限 |
mtp.auth.* |
参照更新可能 |
参照のみ |
mtp.listing.* |
参照更新可能 |
|
|
mtp.maintenance.* |
権限なし(開発者用) |
権限なし |
|
mtp.scheduling.* |
参照のみ(機能上更新が必要な場合は、コード上からの特権実行) |
権限なし |
|
mtp.workflow.* |
参照のみ(機能上更新が必要な場合は、コード上からの特権実行) |
権限なし |
|
mtp.Information |
参照更新可能 |
参照のみ |
|
Action権限 |
mdc/* |
|
|
WebApi権限 |
mdc/* |
|
Action権限、WebApi権限については、 MdcAuth
Utilityクラスを利用して制御しています。
1.3. MdcAuth
MDCに対するAction権限、WebApi権限を制御するためにUtilityクラスを提供しています。
org.iplass.mtp.mdc.auth.MdcAuth
Action権限制御
org.iplass.mtp.mdc.auth.MdcAuth#isPermitAction(String actionName, ActionParameterBinding param)
-
指定された
actionName
の先頭がmdc/entityview/
の場合は、EntityViewの権限チェック を行います。 -
指定された
actionName
の先頭がmdc/
の場合は、MDCの権限チェック を行います。 -
指定された
actionName
が上記以外の場合、true
を返します。
WebApi権限制御
org.iplass.mtp.mdc.auth.MdcAuth#isPermitWebApi(String webApiName, WebApiParameterBinding param)
-
指定された
webApiName
の先頭がmdc/entityview/
の場合は、 EntityViewの権限チェック を行います。 -
指定された
webApiName
の先頭がmdc/view/initialize/search
mdc/view/initialize/detail
の場合は、 EntityViewの権限チェック を行います。 -
指定された
webApiName
の先頭がmdc/
の場合は、MDCの権限チェック を行います。 -
指定された
webApiName
が上記以外の場合、true
を返します。
EntityViewの権限チェック
指定されたパラメータから対象のEntity定義名とView名を取得し、権限をチェックします。
対象のEntity定義に対する EntityView管理設定を取得します。
対象Viewの管理設定がない場合、
-
View名が未指定の場合、
AppAdmin
ロールを保持していればtrue
を、それ以外の場合はfalse
を返します。(自動生成) -
View名が指定されている場合は、
ApplicationException
例外を throw します。(View指定が不正)
対象Viewの管理設定がある場合、
-
管理設定に許可ロールが設定されていない場合、
true
を返します。(全て許可) -
管理設定に許可ロールが設定されている場合、設定されたロールを保持していれば
true
を、 それ以外の場合はfalse
を返します。
MDCの権限チェック
mdc/
のAction、WebApiの場合は、MdcUser
または AppAdmin
ロールを保持していれば true
を、
それ以外の場合は false
を返します。
許可するロールは、 MdcConfigService で設定することが可能です。 |
独自ロールでの利用
標準設定を利用したMdcAuthでのActionやWebApiの権限制御では、対象のユーザーに対して AppAdmin
や MdcUser
ロールを付与する必要があります。
付与するためには、対象のユーザーに対して AppAdmin
や MdcUser
グループを設定します。
もし付与することが難しい場合は、 MdcConfigService の permitRolesToMdc
permitRolesToNoView
の設定に許可するロールを追加してください。