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

Arj*_*jms 5 java websphere websphere-8 websphere-liberty

不幸的是,在Java EE中,某些服务器需要特定于供应商的组来进行角色映射以进行安全配置。对于这些服务器,即使实际上没有要映射的地方,这种映射也是必需的。

不幸的是,IBM Liberty就是这样的服务器。它需要在一个名为的文件中进行映射,该映射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>
Run Code Online (Sandbox Code Playgroud)

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

与Liberty一起使用WAR时,如何从应用程序归档文件中指定组到角色的映射?

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

小智 3

这篇文章有点过时,但以下是我的发现,供其他可能遇到此问题的人参考。

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