有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用war时IBM Liberty(WLP)中的java组到角色映射

不幸的是,在JavaEE中,一些服务器需要特定于供应商的组到角色映射来进行安全配置。对于这些服务器,这种映射是必需的,即使实际上没有什么可映射的

不幸的是,IBMLiberty就是这样一个服务器。它需要一个名为ibm-application-bnd.xml的文件中的映射,该文件应该放在EAR的META-INF/文件夹中。例如:

<?xml version="1.0" encoding="UTF-8"?>
<application-bnd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-application-bnd_1_2.xsd"
    xmlns="http://websphere.ibm.com/xml/ns/javaee"
    version="1.2">

    <security-role name="architect"> 
        <group name="architect" />
    </security-role>

</application-bnd>

更不幸的是,这个文件似乎只能从EAR使用

在使用与Liberty的战争时,如何从应用程序归档中指定组到角色的映射

(那些要求我更改服务器内部任何内容,或与任何类型的控制台或图形管理界面交互的解决方案不幸对我都不可用)


共 (2) 个答案

  1. # 1 楼答案

    这篇文章有点过时,但这里是我的发现,为任何其他人谁可能是挣扎与这个问题

    使用最新版本的WebSphere Liberty(当前为@8.5.5.6),您可以将应用程序绑定文件(ibm application bnd.xml)放入web应用程序的META-INF文件夹中,Liberty将解析绑定文件,就像它被打包在EAR中一样。我不确定这是否是一个文档化的特性

  2. # 2 楼答案

    另一个更新—在2016年6月的交付(Liberty fix pack 16.0.0.2)中,我们现在支持默认角色到组名的映射。如果您希望组名与角色名相同,则不需要提供绑定信息,映射将自动进行

    综上所述,Liberty中现在有3种将组映射到角色的方法:

    1. ibm应用程序bnd中的映射信息。中的xml。耳锉
    2. 服务器中应用程序配置中的映射信息。xml文件
    3. 通过不提供任何映射,允许组名默认为角色名