15.7. パーミッション管理
Seam Security ではアイデンティティ管理 API によりユーザーとロールの管理を行うのと同様、ここではパーミッション管理 API により永続的なユーザーのパーミッションを管理することが可能です (
PermissionManager
コンポーネント)。
15.7.1. PermissionManager リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
PermissionManager
コンポーネントはアプリケーションスコープの Seam コンポーネントであり、 数種類のパーミッション管理の方法を提供しています。 使用する前にパーミッションストアで設定する必要があります。 デフォルトでは JpaPermissionStore
の使用を試行します。 カスタムのパーミッションストアを設定するためには、components.xml
に permission-store
プロパティを指定します。
<security:permission-manager permission-store="#{ldapPermissionStore}"/>
<security:permission-manager permission-store="#{ldapPermissionStore}"/>
以下の表に
PermissionManager
提供の各メソッドの詳細を示します。
戻り値のタイプ
|
メソッド
|
詳細
|
---|---|---|
List<Permission>
| listPermissions(Object target, String action)
|
指定されたターゲットとアクションに対して付与されたすべてのパーミッションを示す
Permission オブジェクトの一覧を返します。
|
List<Permission>
| listPermissions(Object target)
|
指定されたターゲットとアクションに対して付与されたすべてのパーミッションを示す
Permission オブジェクトの一覧を返します。
|
boolean
| grantPermission(Permission permission)
|
バックエンドのパーミッションストアに指定した
Permission を永続化 (許可) します。 操作が成功すると true を返します。
|
boolean
| grantPermissions(List<Permission> permissions)
|
バックエンドのパーミッションストアに指定した複数の
Permission の 一覧を永続化 (許可) します。 操作が成功すると true を返します。
|
boolean
| revokePermission(Permission permission)
|
バックエンドのパーミッションストアから指定した
Permission を削除 (無効) にします。 操作が成功すると true を返します。
|
boolean
| revokePermissions(List<Permission> permissions)
|
バックエンドのパーミッションストアから指定した複数の
Permission の一覧を削除 (無効) にします。 操作が成功すると true を返します。
|
List<String>
| listAvailableActions(Object target)
|
指定された対象ターゲットに対する適用可能な操作の一覧を返します。 このメソッドが返す操作は、対象オブジェクトのクラスに設定されている
@Permission アノテーションにより異なります。
|