簡體   English   中英

從HermesJMS到MQ8的錯誤2035('MQRC_NOT_AUTHORIZED')

[英]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)為什么我禁用了CHLAUTHCONNAUTH卻得到以下錯誤:

ALTER QMGR CHLAUTH(DISABLED) CONNAUTH(' ')

REFRESH SECURITY TYPE(CONNAUTH)

2)盡管我在mquserClientIDuser字段中都明確提供了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

我還指出,一旦您通過發現或手動添加隊列填充了隊列,它將使用您指定的用戶。

請注意,在禁用CHLAUTHCONNAUTH的情況下,隊列管理器將采用任何呈現的用戶並使用它。 您可以啟用CONNAUTH並指定有效的用戶名和密碼,然后MQ會對它進行身份驗證。

由於Discover不遵守User設置,因此另一個選項是在mquser的SVRCONN通道上設置MCAUSER

您需要授予UserId'pkaramol'權限,才能通過setmqaut命令訪問隊列管理器和隊列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM