这里有一些类似的问题,但并不完全相同。
我有一个使用amqmdnet.dll的C#程序(来自9.0.1.0MQC 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服务器端设置一个新的userid。考虑到这一点,有没有什么方法可以在IIS用户下运行时登录,而不是传入我的用户I/密码或其他凭据来使其工作?
https://stackoverflow.com/questions/42320838
复制相似问题