![](/img/trans.png)
[英]Error '2035' ('MQRC_NOT_AUTHORIZED') While Connecting to MQ
[英]Error 2035 ('MQRC_NOT_AUTHORIZED') from HermesJMS to MQ8
我正在使用HermesJms訪問MQ8服務器。
后者具有以下配置:
但是,當我嘗試通過Hermes提供的相關選項“發現”時,出現2035
,隊列管理器錯誤日志中出現以下消息:
AMQ9557: Queue Manager User ID initialization failed for 'pkaramol'.
EXPLANATION:
The call to initialize the User ID 'pkaramol' failed with CompCode 2 and Reason
2035.
請注意, pkaramol
是我以運行Hermes的linux機器登錄的本地OS用戶。
問題 :
1)為什么我禁用了CHLAUTH
和CONNAUTH
卻得到以下錯誤:
ALTER QMGR CHLAUTH(DISABLED) CONNAUTH(' ')
REFRESH SECURITY TYPE(CONNAUTH)
2)盡管我在mquser
的ClientID
和user
字段中都明確提供了mquser
,但是為什么服務器試圖將pkaramol
視為用戶嘗試訪問隊列管理器?
我在HermesJMS上找不到太多文檔,但是通過一些試驗和錯誤,我發現如果單擊“發現”,它將不接受“ User
和“ Password
設置,它將始終將您登錄的用戶發送到隊列管理器,這是為什么看不到用戶mquser
。 因為您以運行隊列管理器的服務器上不存在的pkaramol
用戶pkaramol
運行它,所以會收到以下錯誤:
AMQ9557: Queue Manager User ID initialization failed for 'pkaramol'.
我還發現,要執行發現,它會使用模型隊列SYSTEM.DEFAULT.MODEL.QUEUE
打開一個臨時動態隊列,並將PCF消息放入SYSTEM.ADMIN.COMMAND.QUEUE
。 此外,要發現任何隊列詳細信息,隊列上必須至少具有+inq
和+dsp
。
在您的評論中,您聲明已將用戶pkaramol
添加到服務器,並將其放在mqm
組中。 盡管這是使它起作用的快速方法,但它確實為該用戶提供了完全的MQ Admin訪問權限。 您可以為實際用戶提供以下權限,但仍然能夠發現隊列管理器上的所有對象。 請更換字group
下面一組你的用戶是在服務器上的成員:
setmqaut -m DMSQM -t qmgr -g group +connect +inq +dsp
setmqaut -m DMSQM -n SYSTEM.ADMIN.COMMAND.QUEUE -t queue -g group +inq +put +dsp
setmqaut -m DMSQM -n SYSTEM.DEFAULT.MODEL.QUEUE -t queue -g group +get +dsp
setmqaut -m DMSQM -n '**' -t queue -g group +inq +dsp
我還指出,一旦您通過發現或手動添加隊列填充了隊列,它將使用您指定的用戶。
請注意,在禁用CHLAUTH
和CONNAUTH
的情況下,隊列管理器將采用任何呈現的用戶並使用它。 您可以啟用CONNAUTH
並指定有效的用戶名和密碼,然后MQ會對它進行身份驗證。
由於Discover不遵守User設置,因此另一個選項是在mquser
的SVRCONN通道上設置MCAUSER
。
您需要授予UserId'pkaramol'權限,才能通過setmqaut命令訪問隊列管理器和隊列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.