Annotation Interface CheckRole
@Published
@Target(METHOD)
@Retention(RUNTIME)
@Interceptor(Impl.class)
@Documented
public @interface CheckRole
アクションのメソッドを実行するために必要なロールを、
アクセスしてきたユーザが持つかチェックする
Interceptor
。
このアノテーションをアクションのメソッドに設定することで、
そのメソッドを実行するために必要なロールをアクセスしてきたユーザが持つかどうかを
チェックできるようになる。
アクセスしてきたユーザの識別子は、ThreadContextのgetUserIdメソッド
で
取得できるものが利用される。
また、ロールの有無の判定はRoleEvaluator
に委譲して行われる。
このRoleEvaluator
のインスタンスは、システムリポジトリから"roleEvaluator"
という名前で
取得したものを使用する。
判定の結果ロールを持たないと判断された場合は、Forbidden
がスローされる。
-
Nested Class Summary
-
Required Element Summary
-
Optional Element Summary
-
Element Details
-
value
String[] value判定の条件となるロールの一覧。- Returns:
- ロールの一覧
-
-
-
anyOf
boolean anyOfロールの一覧による判定を部分一致とするかどうかのフラグ。ture
の場合、ロールの一覧で指定したもののうちどれか1つでも ロールを有していれば許可と判定される。
false
の場合は、ロールの一覧で指定されたものを全て有している場合に 許可と判定される。デフォルトは
false
。- Returns:
- ロールの一覧を部分一致で判定する場合は
true
- Default:
- false
-