第9章 マッピング

JBoss Enterprise Application Platform 5 では、セキュリティドメインレベル (EAR レベルなど) で発生したロールからデプロイメントレベルで追加のロールをマップすることが可能です。
これは、org.jboss.security.mapping.providers.DeploymentRolesMappingProvider クラスを <mapping-module> 要素の code 属性に対する値として宣言することで実行できます。加えて、type 属性は role に設定する必要があります。<mapping> 要素スキーマに関する情報は 「<mapping>」 を参照してください。
ロールベースのパラメータ内でマッピング設定要素を設定することにより、特定のデプロイメント (war、ear、ejb-jar など) に対し指定された宣言されたプリンシパルに追加のロールの解釈を強制できます。

重要

JBoss Enterprise Application Platform 5 以前のバージョンでは、<rolemapping> 要素には <mapping-module> 要素とクラス宣言が含まれていました。現在では <rolemapping> は廃止され、<mapping> 要素に置き換えられました。

例9.1 <mapping-module> の宣言

<application-policy name="test-domain">
   <authentication>
   ...
   </authentication>
   <mapping>
      <mapping-module code="org.jboss.security.mapping.providers.DeploymentRolesMappingProvider" type="role"/>
   </mapping>
   ...
</application-policy>
セキュリティドメインが正しく設定されると、<security-role> 要素グループを <assembly-descriptor> の子要素として WEB-INF/jboss-web.xml (.war または .sar) ファイルに追加することができます。

例9.2 <security-role> の宣言

<assembly-descriptor>
   ...
   <security-role>
      <role-name>Support</role-name>
      <principal-name>Mark</principal-name> 
      <principal-name>Tom</principal-name>
   </security-role>
   ...
</assembly-descriptor>
Support プリンシパルに関連するセキュリティロールは、WEB-INF/jboss-web.xml に含まれるベースのセキュリティロール情報に加えて実装されます。