@Published @Target(value=METHOD) @Retention(value=RUNTIME) @Interceptor(value=CheckRole.Impl.class) @Documented public @interface CheckRole
Interceptor
。
このアノテーションをアクションのメソッドに設定することで、
そのメソッドを実行するために必要なロールをアクセスしてきたユーザが持つかどうかを
チェックできるようになる。
アクセスしてきたユーザの識別子は、ThreadContextのgetUserIdメソッド
で
取得できるものが利用される。
また、ロールの有無の判定はRoleEvaluator
に委譲して行われる。
このRoleEvaluator
のインスタンスは、システムリポジトリから"roleEvaluator"
という名前で
取得したものを使用する。
判定の結果ロールを持たないと判断された場合は、Forbidden
がスローされる。