我如何才能使队列管理器(默认情况下存在于Docker镜像中)接受未经身份验证的任何连接?
我浏览了Web控制台中的所有选项(:9443 / ibmmq / console /),并尝试了我认为可能会达到我想要的效果但找不到的任何方法。
TIA和BR
基督教
编辑:这是我用来连接的代码
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = ff.createConnectionFactory();
// Set the properties
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, HOST);
cf.setIntProperty(WMQConstants.WMQ_PORT, PORT);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, CHANNEL);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, QMGR);
cf.setStringProperty(WMQConstants.WMQ_APPLICATIONNAME, "JmsPutGet (JMS)");
//cf.setBooleanProperty(WMQConstants.USER_AUTHENTICATION_MQCSP, true);
//cf.setStringProperty(WMQConstants.USERID, APP_USER);
//cf.setStringProperty(WMQConstants.PASSWORD, APP_PASSWORD);
// Create JMS objects
context = cf.createContext();
- - - - - 编辑 - - - - - -
之后的错误日志
AMQ9557E: Queue Manager User ID initialization failed for '[my OS user]'.
EXPLANATION:
The call to initialize the User ID '[my OS user]' failed with CompCode 2 and
Reason 2035. If an MQCSP block was used, the User ID in the MQCSP block was ''.
ACTION:
Correct the error and try again.
最佳答案
如果您尝试禁用MQ连接认证功能,以便不对用户标识和密码进行认证,则可以通过针对队列管理器在runmqsc中执行以下MQSC命令来执行此操作。ALTER QMGR CONNAUTH(' ')REFRESH SECURITY(*) TYPE(CONAUTH)
或者在MQ Web控制台中:
...
,然后从下拉如果需要:
在“队列管理器”小部件中选择您的QM,打开属性(...),“刷新安全性...”,“连接身份验证”。
确保在MCA下的通道属性中设置了默认用户名(在标准docker安装中为“app”)(建议@JoshMc)