認証済みのユーザが可能な操作を、認可のレベルによって制限します。認可のレベルはユーザのロールに基づいています。
認可を行う方法は以下の2つの方法があります。
プログラムによる制御
Servlet/EJBのAPIを使用して認証済みのユーザやロールによる認可を行うコードをアプリケーション内に記述します。
Servlet/EJBのAPIについては、Java EE 6 Web Profileおよびそのサブ規約を参照してください。
注意
アプリケーションの開発後に変更することができないため、動作環境によってはアプリケーションの変更が必要となることがあります。
コンテナによる制御
deployment descriptorやアノテーションに記述した内容に従い、コンテナが認可を行います。
deployment descriptorやアノテーションによる制限対象は以下の2つです。
Webアプリケーションのリソース
EJBアプリケーションのメソッド
定義の詳細については、Java EE 6 Web Profileおよびそのサブ規約を参照してください。
Webアプリケーションのリソースに対する認可に失敗した場合
認可に失敗した場合は、ステータスコード403が返却されます。
EJBアプリケーションのメソッドの認可に失敗した場合
認可に失敗した場合は、クライアントにjavax.ejb.EJBAccessException例外が通知されます。