EJBの認可は、EJBコンテナに伝播された認証情報(グループまたはユーザ)を使用して行います。
EJBコンテナへの認証情報の伝播は以下の2つの方法があります。
Webアプリケーションの認証情報をEJBコンテナへ伝播
Webアプリケーションで認証された情報をEJBコンテナへ伝播します
RunAs指定されたアプリケーションからEJBコンテナへ伝播
EJB呼び出し元のdeployment descriptorファイルの<run-as>タグ、または呼び出し元アプリケーションに設定された@RunAsアノテーションでロールを指定できます。
この場合、指定されたロールにマッピングされた認証情報をEJBコンテナへ伝播します。
認可は以下の2つの方法があります。
プログラムによる制御
EJBのAPI(伝播された認証情報を取得するAPIや、伝播された認証情報を検証するAPI)を使用して認可を行うアプリケーションを実装してください。
EJBコンテナによる制御
EJBコンテナが伝播された認証情報に従って認可します。伝播された認証情報がメソッドパーミッション機能で設定されたロールにマッピングされている場合、認可に成功します。
詳細は、「4.1.2 認可」を参照してください。
ロールと認証情報のマッピングはInterstage Web application deployment descriptor(glassfish-web.xml)の<security-role-mapping>タグで定義します。