首页 > 解决方案 > 哪里从 jboss-web.xml 定义

问题描述

我们使用 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>

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

标签: jbossjaasjboss-web

解决方案


在 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 等)。

参考指南


推荐阅读