【问题标题】:Client connection to IBM MQ unauthorized与 IBM MQ 的客户端连接未经授权
【发布时间】:2020-09-03 05:43:08
【问题描述】:

我正在尝试设置与 IBM MQ 的客户端连接并使用示例应用程序 wmqjava 对此进行测试。

我可以在绑定模式下连接,但在使用客户端模式时出现 2035 未经授权的错误。

我已采取的设置步骤是:

  • 创建/运行队列管理器
  • 创建监听器
  • 创建一个 SVRConn 频道(多次尝试)

我认为我在授权方面遗漏了什么?

DEF CHL('TEST2.CHANNEL') CHLTYPE(SVRCONN) TRPTYPE(TCP) MCAUSER(' ')

我正在尝试在运行 MQ 服务器的同一台机器上连接到它。

【问题讨论】:

  • 这是由于频道授权。快速修复是在队列管理器上禁用它 alter qmgr chauth(disabled)
  • 可能是 CHLAUTH - 但如果他在 V8 上,它也可能是 CONNAUTH。队列管理器错误日志会有答案

标签: java ibm-mq


【解决方案1】:

根据您使用的 IBM MQ 版本,您可能会被默认 CHLAUTH 规则阻止,该规则禁止断言特权用户 ID 的客户端连接,或者为此类客户端连接提供要求密码的默认 CONNAUTH 规则.

阅读Getting going without turning off MQ Security,了解如何关闭两者或正确使用两者的说明。

仅供参考:您的队列管理器错误日志会告诉您被阻止访问它的原因。

【讨论】:

    【解决方案2】:

    您可以将用户“mqm”放在 MCAUSER 字段中以绕过所有授权。

    DEF CHL('TEST2.CHANNEL') CHLTYPE(SVRCONN) TRPTYPE(TCP) MCAUSER('mqm')

    这将使用 mqm 用户(默认 MQ 管理员用户)的所有权限连接到队列管理器。 或者,您可以授权用户允许 connectputget 消息。

    setmqauthgetmqauth 命令可以帮助您。

    【讨论】:

    • 如果禁止特权用户的 CHLAUTH 默认规则仍处于活动状态,这将不起作用。此外,没有 getmqauth 之类的东西。有一个 setmqauth(注意末尾没有“h”)和一个 dspmqaut。
    猜你喜欢
    • 2022-11-08
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2011-03-04
    • 2011-02-09
    • 1970-01-01
    • 2020-01-11
    • 2013-08-03
    相关资源
    最近更新 更多