###前提・実現したいこと
JavaEE6 に準拠した環境下のJAX-RSで
javax.annotation.security.RolesAllowedアノテーションを
使い認可機能を実現したいですが方法がわかりません。
私は、@RolesAllowed
を以下のようなイメージで使えたらいいなぁと思ってます。
ServletFileter
または、@PostConstruct
を付与したメソッド内部で、
アクセスしたユーザをキーにDBからユーザに紐つくロールを取得。
2. 1で取得したロールを@RolesAllowed
で認識できるように設定。(これの方法がわからないorz)
3. JAX-RSリソースの認可を@RolesAllowed
で行う。
書籍やWebで例えば下記のようなコードがあります。
java
1 @Path("/") 2 @PermitAll 3 public class Resource { 4 @RolesAllowed("user") 5 @GET 6 public String get() { return "GET"; } 7 }
この@RolesAllowed("user")
の設定をWeb.xmlに記述する
ようなこと書いてありますが、いまいちこの使い方がわかっておりません。
アクセス時に渡されるパラメータやHTTPヘッダにより適用する
ロールって変わるとおもうのですが、なんでWeb.xmlに書くのか
理解ができない。
実行環境
- Application Server : Embedded GlassFish 3.1.1
- JDK:Java SE 1.8
- OS:Mac OS/X Yosemite(現時点、プロトタイプ作成のみのため、サーバOSではないです。)
回答3件
あなたの回答
tips
プレビュー