Websphere MQ 7 c# XMS连接使用不同的用户
本文关键字:用户 连接 MQ XMS Websphere | 更新日期: 2023-09-27 18:07:44
我一直在使用XMS API连接到Websphere MQ,并且使用以下代码我能够正常连接:
private IConnection CreateWqmConnection()
{
// Create the connection factories factory using WMQ (websphere message queue)
XMSFactoryFactory factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
// Use the connection factories factory to create a connection factory
IConnectionFactory cf = factoryFactory.CreateConnectionFactory();
// Set the properties
cf.SetStringProperty(XMSC.USERID, @"user");
cf.SetStringProperty(XMSC.PASSWORD, @"password");
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, MessageQueueManager);
cf.SetStringProperty(XMSC.WMQ_HOST_NAME, MessageQueueHost);
cf.SetIntProperty(XMSC.WMQ_PORT, MessageQueuePort);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, MessageQueueChannel);
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
cf.SetStringProperty(XMSC.CLIENT_ID, UniqueClientId);
return cf.CreateConnection();
}
但是,如果我尝试将用户名和密码更改为我当前登录的用户以外的任何人,因为我将获得2035安全错误。我已经登录到主机并将该用户添加到mqm组,我可以使用WMQ Explorer从本地机器使用该用户进行连接并发布消息,而不是使用XMS。
另外,我发现如果我在这个用户帐户下调试程序,我可以连接,所以看起来我不能作为一个用户运行并作为另一个用户进行身份验证。XMS也是这种情况吗?有办法解决这个问题吗?
XMS总是使用登录的用户id对队列管理器进行身份验证。该行为类似于WebSphere MQ C客户机。