ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

5.3.2 認可

認証済みのユーザーが可能な操作を認可のレベルによって制限できます。認可のレベルはユーザーのロールに基づいています。例えば、会員管理アプリケーションでは、管理者にはすべての会員の個人情報を見ることを認可し、会員には自身の個人情報だけを見ることを認可します。

認可を行う方法には、プログラムによる制御とdeployment descriptorによる制御の2つの方法があります。

プログラムによる制御

Servlet/EJBのAPIを使用して認証済みのユーザーやロールによる認可を行うコードをアプリケーション内に記述できます。
アプリケーションの開発後に変更することができないため、動作環境によってはアプリケーションの変更が必要となることがあります。

deployment descriptorによる制御

deployment descriptorに記述した内容に従って、コンテナが認可を行います。
アプリケーションの開発後に動作環境に合わせてdeployment descriptorを変更することができるため、通常はアプリケーションを変更する必要はありません。
deployment descriptorによる制限対象は、以下の2つです。

  • Webアプリケーションのリソース

  • EJBアプリケーションのメソッド

認可に失敗した場合

Webアプリケーションのリソースに対する認可に失敗した場合

認可に失敗した場合はステータスコード:403が返されます。

EJBアプリケーションのメソッドの認可に失敗した場合

認可に失敗した場合はアクセスしたインターフェイスの種類によって、クライアントに以下の例外が通知されます。

経由するインターフェイス

通知される例外

Businessインターフェイス

javax.ejb.EJBException

java.rmi.Remoteを継承するRemote Businessインターフェイス

java.rmi.AccessException

Local Businessインターフェイス

javax.ejb.AccessLocalException

Remoteインターフェイス(EJB2.1クライアントビュー)

java.rmi.AccessException

Localインターフェイス(EJB2.1クライアントビュー)

javax.ejb.AccessLocalException