我已经安装了 Websphere MQ 7.5 并编写了一个 Java 客户端来连接到队列。为了执行该任务,我创建了一个基于该通道的自定义连接到服务器SYSTEM.DEF.SVRCONN
通道。
首先,为了阻止所有具有管理员权限的用户和所有频道的所有授权用户,我输入了这样一个命令 (runmqsc TEST_MANAGER): SET CHLAUTH(*) TYPE(BLOCKUSER) USERLIST('nobody', *MQADMIN)
。现在我在 MQ Explorer 中看到了这个限制(TEST_MANAGER -> Channels -> Channel Identification Records)。
之后,为了向我的测试用户(Java 客户端)提供访问权限,我输入了这样的命令:
SET CHLAUTH(TEST_CHANNEL) TYPE(ADDRESSMAP) ADDRESS('*') MCAUSER('TestUser') .
最后,我在 Spring 的 UserCredentialsConnectionFactoryAdapter 中设置了用户名/密码对,其中用户名是 TestUser。
问题是我无法连接到2035
MQRC_NOT_AUTHORIZED
异常。如果我删除 'nobody'/*MQADMIN 阻止规则,一切正常(仅存在 TestUser 客户端规则的规则)。