从jboss-web.xml定义的<principal-name>在哪里

时间:2018-05-15 13:24:18

标签: jboss jaas jboss-web

我们使用JBoss,我们的应用程序中有一个jboss-web.xml配置文件。它包含条目,例如

<security-role>
    <role-name>anz_beleg_detail</role-name>
    <principal-name>APP-UKVLEI_AENDERUNG</principal-name>
    <principal-name>APP-UKVLEI_AUSKUNFT</principal-name>
    <principal-name>APP-UKVLEI_EINGABE</principal-name>
    <principal-name>APP-UKVLEI_FREIGABE</principal-name>
</security-role>

主要名称是什么?它在哪里定义?它在哪里指定了登录用户的主体名称是什么?

1 个答案:

答案 0 :(得分:2)

在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>

在正常情况下,如here

中所述,这被视为向RunAsIdentity添加角色

如果您使用DeploymentRolesMappingProvider在安全域配置中包含此映射配置元素,那么您实际上强制要将角色的其他解释添加到此特定部署的特定主体(war,ear,ejb-jar等)。

参考guide