错误'2035'('MQRC_NOT_AUTHORIZED')连接到MQ时

时间:2011-02-24 07:55:05

标签: asp.net ibm-mq

我在连接到IBM MQ时遇到此错误。我知道这是因为权限,但有没有办法只检查与IBM MQ的连接?

请建议。

7 个答案:

答案 0 :(得分:6)

2035表明您的连接正在进入QMgr。如果您有错误的频道名称,主机或端口,您将获得2059. 2035意味着连接使其成为侦听器,找到了请求的名称的频道并尝试连接。

如果您想测试这一点,则需要授权您用于连接的ID,或者将授权ID放入频道的MCAUSER属性中。

有关WMQ安全性如何在客户端通道上工作的详细说明,请参阅http://t-rob.net/links处的WMQ Base Hardening演示文稿。

答案 1 :(得分:4)

如果启用授权消息,则2035将显示在事件队列中。然后,您可以查看消息并查看用于连接的ID以及使用的选项。 2035可能是因为您要求对队列管理器设置权限或者其他您不应该拥有的权限。授权信息将告诉你。

答案 2 :(得分:3)

你也可以解决这个问题通过设置mcauser('mqm')..我能够克服2035错误。

Define channel (channel1) chltype (svrconn) trptype (tcp) mcauser(‘mqm’)

Esp thanx到我的 SENIOR Bilal Ahmad(PSE)

答案 3 :(得分:0)

我也一直为此苦苦挣扎。最终我找到了这个解决方案。 (如果您可以调用关闭身份验证作为解决方案。)

我正在使用版本  -IBM Websphere 9.1.0.201807091223

他们建议从IBM网站关闭连接认证!!!

  

解决问题禁用通道身份验证

     

您至少需要禁用连接身份验证   暂时。 FTM中存在有关Check的已知问题   使用MQ连接授权。这些问题正在积极地   已解决,修订将出现在以后的修订包中。目标是   修订包3.0.0.8。

     

禁用连接身份验证的步骤:打开MQ命令控制台   然后输入runmqsc ALTER   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)AUTHTYPE(IDPWOS)   CHCKCLNT(NONE)CHCKLOCL(NONE)为此重新启动队列管理器   更改才能生效。

来源http://www-01.ibm.com/support/docview.wss?uid=swg21962081

答案 4 :(得分:-1)

您必须与MQ管理员一起检查权限。

答案 5 :(得分:-1)

对于在Windows上运行的Q / Q管理器,您可能必须在Q / Q管理器计算机上创建用户[即在Q-machine上创建一个用户以匹配Q-client机器上的用户],然后将该用户添加到&m; mqm'那台机器上的小组。

步骤:

  1. 确保用于创建Q CLIENT的域用户[即在Q-Q-manager的框中也存在Q-client应用程序运行的用户。您可以在Q / Q-manager框中创建本地用户[,或者您可能需要更复杂地创建Active Directory用户 - 我无法帮助您]。

  2. 在Q / Q-manager框中,将您刚创建的用户[或现有用户(如果已存在)添加到mqm组。 [在Windows服务器上,您需要使用Microsoft管理控制台(1.' mmc'来自命令行,2。文件>添加/删除SnapOn>本地用户和组; 3。将用户添加到组)]。 ' mqm'组应该已经存在于Q / Q管理器机器上。

答案 6 :(得分:-1)

您可以使用dspmqaut检查授权。 下面是用户poc访问Queue Manager QM1和Queue LQ1

的示例
 # check the access right of user POC to QM1
 dspmqaut -m QM1 -n LQ1 -t q -p poc

 # if you want to give access, you should use 
 setmqaut -m QM1 -n LQ1 -t q -p poc <access Types>
 # eg (put everything - in the real live scenario, choose only what you want to grant) :
 setmqaut -m QM1 -n LQ1 -t q -p poc +put +get +browse +inq +set +crt +dlt +chg +dsp +passid +setid +setall +clr 

然后别忘了用

重新启动QM1
  endmqm -i QM1
  strmqm QM1

最后,您应该能够在没有错误的情况下继续进行2035.