Wildfly-swarm 8.5.0 创建一个系统 属性 而不是根元素

Wildfly-swarm 8.5.0 creates a system property instead of a root element

我的 yml 配置文件中有以下块:

access-control:
      provider: rbac
      role-mapping:
        role:
          "guest":
            include:
              user:
                "buddy"

当我构建我的项目时,下面的条目被添加到生成的独立-full.xml

<system-properties>
     <property name="swarm.management.access-control.role- 
                mapping.role.guest.include.user" value="buddy"/>
      <property name="swarm.management.access-control.provider" 
                   value="rbac"/>
 </system-properties>

问题是我希望生成以下节点:

<access-control provider="rbac">
   <role-mapping>
        <role name="guest">
            <include>
                <user name="buddy"/>
            </include>
        </role>
   </role-mapping>
</access-control>

有什么想法吗?

您似乎正在尝试为管理界面配置基于角色的访问控制。对于应用程序本身,这是 而不是 。那是你真正想要的吗?我不希望 mgmt RBAC 与 WildFly Swarm 一起使用。

如果那是您真正想要的,这里是解释所有概念的 JBoss EAP 文档:https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html-single/how_to_configure_server_security/#role_based_access_control

基于http://docs.wildfly-swarm.io/2018.5.0/#_management将它翻译成WildFly Swarm YAML,我相信你需要的是这样的东西(注意我没试过:-)):

swarm:
  management:
    security-realms:
      ManagementRealm:
        in-memory-authentication:
          users:
            albert: # creating a user in the mgmt realm
              password: einstein
    authorization-access:
      provider: rbac
      role-mappings:
        Operator: # one of the pre-defined roles, can't create new ones
          includes:
            user-albert: # by convention, should always be user-xxx or group-xxx
              name: albert
              type: user

但我再说一遍,我不认为你真的想要这个。如果您能描述一下您的用例,我可能会提供更好的帮助。