如果您在通道中設置了MCAUSER
,則這將覆蓋客戶端提供的任何ID。如果你仍然得到2035,那麼有兩種可能性。第一個是MCAUSER
中的ID尚未使用setmqaut
命令正確授權。第二個(至少對於Windows)是它不是正確的ID。例如,如果通道定義中有MCAUSER(userx)
而不是MCAUSER('[email protected]')
,那麼顯示的ID與WMQ解析的SID完全不同。在筆記本電腦和WMQ服務器上定義userx
時可能會發生這種情況。服務器必須能夠解析呈現給它附帶的SID的ID。
WMQ v7.1有關於CHLAUTH規則的其他注意事項。如果提供的ID具有管理權限,則默認情況下,WMQ將在所有通道上阻止它。這是因爲管理標識可以完全訪問WMQ,並且可以使用WMQ服務或觸發功能在QMgr的主機服務器上遠程執行代碼。因此,如果您擁有WMQ v7.1,則需要在所需頻道上啓用WMQ管理員訪問權限,或者使用非管理用戶ID進行連接。
最後,調試所有這些最簡單的方法是在QMgr上啓用授權事件,並將SupportPac MS0P安裝到WMQ資源管理器中。這將在每次出現2035時生成一條事件消息,然後MS0P插件將其解析爲可讀格式。該消息會告訴你...
- 什麼API調用失敗。 (
CONNECT
,OPEN
,CLOSE
)上的API調用
- 的ID作出API調用
- 抵靠該API調用作出
對象指定
選項這可以有助於確定您是否提供了所有正確的權限。例如,Java和JMS類將查詢他們觸摸的每個對象。這是他們如何在連接時發現DLQ名稱或打開隊列時的BOQNAME。所以,如果你沒有提供的QMGR +inq
和排隊你會得到一個2035年的事件消息會告訴你使用的對象和選項。同樣,如果你讀了帶毒郵件和ID沒有權利擱置隊列或死隊列然後你出現(除非你看到事件消息),一個2035年發生從中你有一個隊列愉快地消費信息。所以請確保啓用Auth事件並使用MS0P。 如果你想有一個友好的教程WMQ安全,有幾個會議報告存檔here。
什麼版本WMQ服務器和客戶端? –