【发布时间】:2017-02-18 21:23:44
【问题描述】:
和这个有类似的问题,但不完全相同...
我有一个使用 amqmdnet.dll 的 C# 程序(来自 9.0.1.0 MQC Redist) 连接代码为:
Hashtable mqProperties = new Hashtable();
mqProperties.Add(MQC.CHANNEL_PROPERTY, channelName);
mqProperties.Add(MQC.HOST_NAME_PROPERTY, hostname);
mqProperties.Add(MQC.PORT_PROPERTY, port);
queueManager = new MQQueueManager(strQueueManagerName, mqProperties);
它工作正常并写入队列。我假设它会从 Windows 获取我当前的登录 ID。
当我在 IIS 上运行相同的代码时,它会连接但在尝试写入队列时失败并出现身份验证错误 2035。我认为这是因为 IIS 以不同的用户 ID 运行。
我尝试添加:
mqProperties.Add(MQC.USER_ID_PROPERTY, "myuserid");
mqProperties.Add(MQC.PASSWORD_PROPERTY, "mypassword");
它没有工作。尝试“mydomain\myuserid”也没有用。其他一些帖子提到 MQ 需要 Windows SID。我尝试使用该字符串,但这也不起作用。
此时,我正在玩这个,所以我不想让管理员在 MQ 服务器端设置一个新的用户 ID。考虑到这一点,在 IIS 用户下运行时,我是否可以通过任何方式登录,但传入我的用户 ID/密码或其他凭据以使其正常工作?
【问题讨论】:
-
它是V9还是V10(我相信它可能在上周刚刚升级)
-
我想确保我的答案是正确的,建议的更改对您有用吗?
标签: ibm-mq