ibm-mq - ibm mq,在不指定用户的情况下将消息发送到队列
问题描述
我有一个 spring 应用程序,并且我收到了连接到 ibm mq 的信息。除了用户名和密码,我什么都有。当我使用docker image时,我有一个用户和密码(使用MQ_APP_PASSWORD
env. 变量指定)。很明显,我可以只用一个用户名连接到 ibmmq 队列,但问题是,我是否可以在没有这两个用户名的情况下连接?ibmmq 是否允许这样的事情?
解决方案
MQ Advanced for Developers 容器映像带有一个启用安全性的默认配置。在此配置中,应用程序使用DEV.APP.SVRCONN
通道进行连接。我认为您应该看一下CONNAUTHCHCKCLNT
中的属性。在默认配置中,如果您在容器上设置了密码(通过设置环境变量),则通道上的属性 (CHLAUTH) 设置为,否则设置为。这将回退到的队列管理器设置是使用 CONNAUTH 在对象上设置的,默认情况下设置为。因此,不发送用户 ID 和密码应该已经可以了。但是,如果没有,请尝试调整对象的CHCKCLNT
REQUIRED
MQ_APP_PASSWORD
ASQMGR
AUTHINFO
REQDADM
AUTHINFO
CHCKCLNT
环境。请注意,这也可能对DEV.ADMIN.SVRCONN
通道产生连锁反应,该通道也使用此默认值。
您可以通过添加 MQSC 来更改 Docker 映像中使用的 MQ 配置,如此处所述。您将需要在 MQSC 结束时刷新安全性。
推荐阅读
- qt - 如何将 QML 中声明的信号连接到 C++ 方法或 lambda
- c - 如何读取文本文件并将它们复制到字符串数组?
- javascript - CSS transform:translateX 动画渲染问题
- javascript - 如何减少具有特定属性深度的数组
- javascript - Vue 3 Composition API:使用 props 作为组件数据的初始值
- laravel - 如何在路线中本地化 laravel
- node.js - 传递了自定义令牌的 oAuth2 客户端无效
- jenkins - 应该在 Jenkins REST API 中设置哪些查询参数来获取在从属设备上执行的所有作业?
- javascript - 如何将脚本标签中的数据传递给反应应用程序或小部件?
- java - 可绘制资源在不同的屏幕密度上缩放