首页 > 解决方案 > ibm mq,在不指定用户的情况下将消息发送到队列

问题描述

我有一个 spring 应用程序,并且我收到了连接到 ibm mq 的信息。除了用户名和密码,我什么都有。当我使用docker image时,我有一个用户和密码(使用MQ_APP_PASSWORDenv. 变量指定)。很明显,我可以只用一个用户名连接到 ibmmq 队列,但问题是,我是否可以在没有这两个用户名的情况下连接?ibmmq 是否允许这样的事情?

标签: ibm-mq

解决方案


MQ Advanced for Developers 容器映像带有一个启用安全性的默认配置。在此配置中,应用程序使用DEV.APP.SVRCONN通道进行连接。我认为您应该看一下CONNAUTHCHCKCLNT中的属性。在默认配置中,如果您在容器上设置了密码(通过设置环境变量),则通道上的属性 (CHLAUTH) 设置为,否则设置为。这将回退到的队列管理器设置是使用 CONNAUTH 在对象上设置的,默认情况下设置为。因此,不发送用户 ID 和密码应该已经可以了。但是,如果没有,请尝试调整对象的CHCKCLNTREQUIREDMQ_APP_PASSWORDASQMGRAUTHINFOREQDADMAUTHINFOCHCKCLNT环境。请注意,这也可能对DEV.ADMIN.SVRCONN通道产生连锁反应,该通道也使用此默认值。

您可以通过添加 MQSC 来更改 Docker 映像中使用的 MQ 配置,如此所述。您将需要在 MQSC 结束时刷新安全性。


推荐阅读