javax.annotation.security.RolesAllowedアノテーションの使い方
前提・実現したいこと
JavaEE6 に準拠した環境下のJAX-RSで
javax.annotation.security.RolesAllowedアノテーションを
使い認可機能を実現したいですが方法がわかりません。
私は、@RolesAllowed
を以下のようなイメージで使えたらいいなぁと思ってます。
ServletFileter
または、@PostConstruct
を付与したメソッド内部で、
アクセスしたユーザをキーにDBからユーザに紐つくロールを取得。- 1で取得したロールを
@RolesAllowed
で認識できるように設定。(これの方法がわからないorz) - JAX-RSリソースの認可を
@RolesAllowed
で行う。
書籍やWebで例えば下記のようなコードがあります。
@Path("/")
@PermitAll
public class Resource {
@RolesAllowed("user")
@GET
public String get() { return "GET"; }
}
この@RolesAllowed("user")
の設定をWeb.xmlに記述する
ようなこと書いてありますが、いまいちこの使い方がわかっておりません。
アクセス時に渡されるパラメータやHTTPヘッダにより適用する
ロールって変わるとおもうのですが、なんでWeb.xmlに書くのか
理解ができない。