【发布时间】:2018-04-27 16:15:23
【问题描述】:
我们使用的是 websphere MQ 版本 9.0.0.1,基本上我们已经在 linux 机器上配置了主动/被动集群设置,所有队列管理器在主动/被动节点上都运行良好。我们已经在队列管理器中配置了通道队列, 当应用程序尝试连接我的队列管理器时,我们遇到了错误
在应用程序端出现以下错误。
The Security athuntication was not valid that supplied for QUEUEMANAGER 'xxxxx_OUTWARD'WITH CONNECTION 'CLIENT' and HOST NAME 'xxxxx'PLEASE CHECK IF THE ERROR QUEUEMANAGER 'xxxxx_OUTWARD'WITH CONNECTION MODE 'CLIENT'AND HOST NAME'xxxxxx.
我们在队列管理器级别错误日志中发现的错误以下
----- cmqxrsrv.c : 2362 -------------------------------------------------------
04/27/2018 07:52:35 PM - Process(29498.16) User(mqm) Program(amqzlaa0)
Host(xxxxxxx) Installation(Installation2)
VRMF(9.0.0.1) QMgr(xxxxx_INWARD)
AMQ5534: User ID 'mqm' authentication failed
EXPLANATION:
The user ID and password supplied by the 'WebSphere MQ Client for Java' program
could not be authenticated.
Additional information: 'N/A'.
ACTION:
Ensure that the correct user ID and password are provided by the application.
Ensure that the authentication repository is correctly configured. Look at
previous error messages for any additional information.
----- amqzfuca.c : 4486 -------------------------------------------------------
04/27/2018 07:52:35 PM - Process(29498.16) User(mqm) Program(amqzlaa0)
Host(JPRIPAYMENTMQ2) Installation(Installation2)
VRMF(9.0.0.1) QMgr(xxxxx_INWARD)
AMQ5542: The failed authentication check was caused by the queue manager
CONNAUTH CHCKCLNT(OPTIONAL) configuration.
EXPLANATION:
The user ID 'mqm' and its password were checked because the queue manager
connection authority (CONNAUTH) configuration refers to an authentication
information (AUTHINFO) object named 'SYSTEM.DEFAULT.AUTHINFO.IDPWOS' with
CHCKCLNT(OPTIONAL).
This message accompanies a previous error to clarify the reason for the user ID
and password check.
ACTION:
Refer to the previous error for more information.
Ensure that a password is specified by the client application and that the
password is correct for the user ID. The authentication configuration of the
queue manager connection determines the user ID repository. For example, the
local operating system user database or an LDAP server.
If the CHCKCLNT setting is OPTIONAL, the authentication check can be avoided by
not passing a user ID across the channel. For example, by omitting the MQCSP
structure from the client MQCONNX API call.
To avoid the authentication check, you can amend the authentication
configuration of the queue manager connection, but you should generally not
allow unauthenticated remote access.
-------------------------------------------------------------------------------
04/27/2018 07:52:36 PM - Process(18265.105) User(xxx) Program(amqrmppa)
Host(xxxxx) Installation(Installation2)
VRMF(9.0.0.1) QMgr(xxxxx_INWARD)
AMQ9557: Queue Manager User ID initialization failed for 'mqm'.
EXPLANATION:
The call to initialize the User ID 'mqm' failed with CompCode 2 and Reason
2035. If an MQCSP block was used, the User ID in the MQCSP block was 'mqm'.
ACTION:
Correct the error and try again.
----- cmqxrsrv.c : 2362 -------------------------------------------------------
在此之后,我使用以下命令在队列管理器级别和队列级别向“mqm”用户提供了权限,但我们仍然面临同样的错误。
setmqaut -m queue manager name -t qmgr -p mqm +connect &
setmqaut -m queue manager name -n queue name -t queue -p mqm user name +all
任何人都可以帮助解决这个问题
@Morag Hughson:- 如何在队列管理器级别关闭用户名和密码
@Morag Hughson:- 任何关闭用户名和密码的命令请分享解决此问题的命令。
@JoshMC:- 如果我将其关闭,这是一个很好的做法,或者是否有任何其他选项可以从队列管理器/应用程序端解决此问题?
@Hello all,我被告知应用程序放置消息而不提及任何用户 ID 和密码。之后我的应用程序能够访问所有队列管理器。 问题得到解决。感谢大家帮助这个问题。
【问题讨论】:
-
错误很明显你有 chkclnt 可选。使用此设置,如果发送密码,则密码必须有效并且能够根据 qmgr connauth 属性中指定的 authinfo 对象的配置方式进行验证。
-
你想要完成什么?如果您将其关闭,那么任何有权访问您的网络的人都将拥有完整的管理员权限。
-
Morag 提供了 2 个选项,最好的一个是发送正确的密码并确保将 mq 配置为进行身份验证。 Roger 也有很好的建议,你为什么将应用程序作为 mqm 运行?它是一个管理工具吗?如果不是,则不需要以 mqm 权限运行。
标签: ibm-mq