第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 に含まれるベースのセキュリティロール情報に加えて実装されます。