gpt4 book ai didi

websphere-liberty - 使用 configDropins 覆盖应用程序绑定(bind)安全角色

转载 作者:行者123 更新时间:2023-12-02 04:26:47 33 4
gpt4 key购买 nike

我有一个基于 websphere liberty 的应用程序的 docker 镜像。默认情况下,此图像使用具有几个示例用户的 basicRegistry 的基本身份验证。然后将 basicRegistry 组绑定(bind)到一个安全角色,如下所示(这个安全角色是从应用程序的 web.xml 中引用的):

<webApplication id="myWebapp" ...>
<application-bnd>
<security-role name="Users">
<group name="Users"/>
</security-role>
</application-bnd>
</webApplication>

现在,在我的环境中,身份验证将在这个容器之外处理,所以我想禁用基本的身份验证检查,并向所有可以访问它的人开放。我没有重新打包整个 server.xml,而是希望只向 configDropins/override 添加一些配置以禁用对 webapp 的身份验证。

尝试之后,我很困惑这是否应该工作/如何工作...这是观察到的行为:

如果我首先启动服务器,然后将配置片段添加到 configDropins/override,如下所示:

<webApplication id="myWebapp">
<application-bnd>
<security-role name="Users">
<special-subject type="EVERYONE"/>
</security-role>
</application-bnd>
</webApplication>

然后 webapp 将重新加载并关闭基本身份验证(好)。

但是,当我将相同的配置片段打包到 configDropins/override 并然后启动服务器时,webapp 启动时启用了基本身份验证,所有请求都失败并显示 HTTP 401 状态。

任何人都可以帮助我理解这种行为和/或提供替代方法吗?

最佳答案

向 security-role 元素添加“id”属性应该可以解决这个问题。在您的示例中,配置处理后基本上有两个 security-role 元素。安全运行时将根据名称将它们合并在一起,但行为将根据接收到两个安全角色元素的顺序而有所不同。

关于websphere-liberty - 使用 configDropins 覆盖应用程序绑定(bind)安全角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53817973/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com