【发布时间】:2017-09-04 16:48:22
【问题描述】:
我必须从客户端连接到 MQ 服务器。服务器 MQ 以用户“admin”运行。如何使用 .net 从具有特定用户“管理员”的客户端连接到服务器? ,我将使用我的本地凭据运行代码。有没有办法做到这一点?我正在使用 MQ 服务器和客户端 8.0.0.6,Win server 2008 R2。 “管理员”用户在服务器中没有任何密码。我使用下面的代码与用户联系
对此进行更新 - 现在我有了用户 ID 和密码,尝试连接时会引发 2035 错误。
Hashtable props = new Hashtable();
props.Add(MQC.HOST_NAME_PROPERTY, "10.136.232.46");
props.Add(MQC.CHANNEL_PROPERTY, channelName);
props.Add(MQC.PORT_PROPERTY, 1414);
port number props.Add(MQC.USER_ID_PROPERTY, "mqchluser");
props.Add(MQC.PASSWORD_PROPERTY, "mqchluser");
props.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
MQQueueManager queueManager = null;
queueManager = new MQQueueManager(QueueManagerName,props );
【问题讨论】:
-
以用户身份连接 MQ 队列管理器运行不是一个好主意,因为这意味着应用程序具有完整的 MQ 管理员权限,这是您想要的吗?如果它是一个只需要访问队列子集的应用程序,那么您应该创建一个特定于该应用程序的用户并授予它访问所需队列的权限。这个用途应该有一个密码,以便您可以通过发送 id 和 pw 从客户端进行身份验证。
-
我只需要访问 MQ 服务器中的队列即可。添加另一个用户不在图片中。有没有办法使用运行 MQ 服务器的用户(来自客户端的“Admin”)连接到 MQ 服务器? MQ 服务器和客户端在不同的机器上,但在同一个网络中
-
我使用了一个有用户名和密码的用户,如果我现在运行我得到 2035 错误。我在这里缺少什么?
-
请将评论中的详细信息添加到您的问题下面的答案中,我会写一个包含详细信息的答案。
-
您可以通过缩进 4 个空格来格式化代码和错误块,这比在评论中混乱的可读性要高得多。您是否还可以检查队列管理器 AMKERR01.LOG 以了解您收到 2035 的原因。可能是因为密码身份验证失败,也可能是您没有为新用户提供 OAM 权限。