在 JBoss Application Server v5.0 及更高版本中,可以从在安全域级别派生的角色映射角色,以包括部署中包含的其他角色(例如在 EAR 级别)。
映射提供者:
org.jboss.security.mapping.providers.DeploymentRolesMappingProvider
配置:
<application-policy name="some-sec-domain">
<authentication>
...
</authentication>
<mapping>
<mapping-module code="org.jboss.security.mapping.providers.DeploymentRolesMappingProvider"
type="role"/>
</mapping>
...
</application-policy>
现在您可以拥有部署级别的角色映射,如下所示:
在 jboss.xml 或 jboss-web.xml 中,你可以有类似的东西:
<assembly-descriptor>
...
<security-role>
<role-name>Support</role-name>
<principal-name>Mark</principal-name>
<principal-name>Tom</principal-name>
</security-role>
...
</assembly-descriptor>
在正常情况下,这被视为向 RunAsIdentity 添加角色,如此处所述
如果您在使用 DeploymentRolesMappingProvider 的安全域配置中包含此映射配置元素,则本质上是强制将角色的附加解释添加到此特定部署的特定主体(war、ear、ejb-jar 等)。
参考指南