一,基础概念

1.1 CONNAUTH

用于提供用户标识和密码认证位置的认证信息对象的名称。如果CONNAUTH为空,那么队列管理器不检查用户 ID 和密码。字符串的最大长度为 MQ_AUTH_INFO_NAME_LENGTH.
只能指定IDPWOS或IDPWLDAP类型的认证信息对象;其他类型在以下情况下会导致错误消息:
对此配置或其引用的对象的更改在发出 REFRESH SECURITY TYPE(CONNAUTH)命令时生效。
如果将 CONNAUTH留空,并尝试连接到在CHCKCLNT字段中设置了以下选项之一的通道,则连接失败:

1.2 CHLAUTH

通道认证记录用于保护用于连接到队列管理器的 MQ 通道。
指定是否使用通道认证记录定义的规则。无论此属性的值如何,仍然可以设置和显示CHLAUTH规则。
对此参数的更改将在下一次入站通道尝试启动时生效。当前启动的通道不受此参数更改的影响。
DISABLED, 不检查通道认证记录。
ENABLED, 检查通道认证记录。

1.3 认证相关的查询

DISPLAY AUTHINFO(*)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
   AUTHTYPE(IDPWLDAP)                   
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                     
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.OCSP)
   AUTHTYPE(OCSP)                       
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.CRLLDAP)
   AUTHTYPE(CRLLDAP)

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                        ADOPTCTX(YES)
   DESCR( )                                CHCKCLNT(REQDADM)
   CHCKLOCL(OPTIONAL)                      FAILDLAY(1)
   AUTHENMD(OS)                            ALTDATE(2021-09-18)
   ALTTIME(02.42.53)

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
   AUTHTYPE(IDPWLDAP)                      ADOPTCTX(YES)
   DESCR( )                                CONNAME( )
   CHCKCLNT(REQUIRED)                      CHCKLOCL(OPTIONAL)
   CLASSGRP( )                             CLASSUSR( )
   FAILDLAY(1)                             FINDGRP( )
   BASEDNG( )                              BASEDNU( )
   LDAPUSER( )                             LDAPPWD( )
   SHORTUSR( )                             GRPFIELD( )
   USRFIELD( )                             AUTHORMD(OS)
   NESTGRP(NO)                             SECCOMM(NO)
   ALTDATE(2021-09-18)                     ALTTIME(02.42.53)

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.OCSP)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.OCSP)
   AUTHTYPE(OCSP)                          DESCR( )
   OCSPURL( )                              ALTDATE(2021-09-18)

display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.CRLLDAP)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.CRLLDAP)
   AUTHTYPE(CRLLDAP)                       DESCR( )
   CONNAME( )                              LDAPUSER( )
   LDAPPWD( )                              ALTDATE(2021-09-18)
   ALTTIME(02.42.52)   TIME(02.42.52)

1.4 通道接收端绑定步骤

客户端绑定, 当应用程序和队列管理器使用网络进行通信时适用。应用程序和队列管理器可以在同一台机器上运行,也可以在不同的机器上运行。在 IBM MQ中,客户端连接以服务器连接 (SVRCONN) 通道的形式处理,在这种情况下,CONNAUTH 和 CHLAUTH 都适用。
通道接收端绑定步骤
当应用程序连接到队列管理器时,会执行大量检查以确保通道的两端了解另一端支持的内容。通道的接收端进行一些额外的检查,包括 CHLAUTH 和 CONNAUTH,以确保允许客户端连接,并且此过程可能还包括安全出口,因为这会影响结果。此通道连接阶段也称为绑定阶段。

下图列出了服务器端(在队列管理器处)启动时 SVRCONN 通道所经历的步骤:

细节参考:

https://www.ibm.com/docs/en/ibm-mq/9.2?topic=records-interaction-chlauth-connauth

二,实验一

2.1 通道认证关闭,连接认证开启的情况。

信息如下:

DISPLAY QMGR CHLAUTH
     4 : DISPLAY QMGR CHLAUTH
AMQ8408I: Display Queue Manager details.
   QMNAME(QMEMBFE)                         CHLAUTH(DISABLED)
display QMGR CONNAUTH
     5 : display QMGR CONNAUTH
AMQ8408I: Display Queue Manager details.
   QMNAME(QMEMBFE)                      
   CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)

DISPLAY AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                        ADOPTCTX(YES)
   DESCR( )                                CHCKCLNT(REQDADM)
   CHCKLOCL(OPTIONAL)                      FAILDLAY(1)
   AUTHENMD(OS)                            ALTDATE(2021-09-18)
   ALTTIME(02.42.53)

当我使用MQ explorer连接的时候报“无权访问对象”的错误。

2.2 关闭连接认证。

我们测试关闭连接认证。

2.2.1 首先尝试设置连接认证为空。

ALTER QMGR CONNAUTH(' ')  注:一般单引号内有一个空格,但是不加空格也是一样的效果。
     8 : ALTER QMGR CONNAUTH(' ')
AMQ8005I: IBM MQ queue manager changed.

DISPLAY QMGR CONNAUTH  
     9 : DISPLAY QMGR CONNAUTH
AMQ8408I: Display Queue Manager details.
   QMNAME(QMEMBFE)                         CONNAUTH( )

REFRESH SECURITY TYPE(CONNAUTH)
    10 : REFRESH SECURITY TYPE(CONNAUTH)
AMQ8560I: IBM MQ security cache refreshed.

测试mq explorer连接还是失败。

2.2.2 修改SYSTEM.DEFAULT.AUTHINFO.IDPWOS对象。

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
    11 : ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
AMQ8567I: IBM MQ authentication information changed.
DISPLAY AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
    12 : DISPLAY AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
AMQ8566I: Display authentication information details.
   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                        ADOPTCTX(YES)
   DESCR( )                                CHCKCLNT(OPTIONAL)
   CHCKLOCL(OPTIONAL)                      FAILDLAY(1)
   AUTHENMD(OS)                            ALTDATE(2021-09-23)
   ALTTIME(15.59.38)

测试mq explorer连接还是失败。

2.2.3, 修改具体的通道属性,设置MCAUSER.

ALTER CHL(SYSTEM.AUTO.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
     2 : ALTER CHL(SYSTEM.AUTO.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
AMQ8016I: IBM MQ channel changed.

测试mq explorer连接成功。

测试另外一个通道。

ALTER CHL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
     3 : ALTER CHL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
AMQ8016I: IBM MQ channel changed.

2.2.4 测试IDPWLDAP

IDPWLDAP
连接验证用户 ID 和密码检查是使用 LDAP 服务器完成的。
IDPWOS
连接验证用户 ID 和密码检查是使用操作系统完成。

修改连接认证属性:

ALTER QMGR CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
    20 : ALTER QMGR CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP)
AMQ8005I: IBM MQ queue manager changed.
REFRESH SECURITY TYPE(CONNAUTH)
    21 : REFRESH SECURITY TYPE(CONNAUTH)
AMQ8560I: IBM MQ security cache refreshed.

测试连接时,失败。

IBM MQ认证探讨相关推荐

  1. java ibm 2035,C# java 连接 IBM MQ时出现 2035 或 2013认证错误的解决方法

    当C# 或 java 连接 IBM MQ 是出现 2035 或 2013的错误时 java的错误提示: com.ibm.msg.client.jms.DetailedJMSSecurityExcept ...

  2. php ibm mq,php linux IBM MQ安装以及php对接

    php linux IBM MQ安装以及php对接 输入信息test,双击回车就结束了 获取队列内容: $mqcno=array("Version"=>MQSERIES_MQ ...

  3. ibm mq 编程_IBM SOA编程模型简介

    ibm mq 编程 SOA编程模型系列 对于任何一个程序员,尤其是非程序员,要有效地掌握和应用令人震惊的软件技术,实践,工具和平台,变得越来越困难. 但是,如果要成功进行业务流程转型,则大量的非程序员 ...

  4. 超全IBM MQ安装运行与代码连接测试

    前言 选择windows安装测试是有必要的,IBM MQ不同于其他MQ,其运行与创建队列管理器很复杂,在打算部署linux之前,建议先把windows下的可视化操作理清,不至于踩坑! 安装 IBM M ...

  5. IBM Websphere MQ 基础0:Linux下安装IBM MQ 7.5

    背景 无.公司就是用的IBM WebSphere MQ作为消息中间件,本文记载how install it. 一. 安装包检查与准备 1. 检查 通过rpm –qa检查是否已经安装 IBM MQ,若已 ...

  6. Linux安装消息队列IBM MQ 7.5开发版安装配置详解

    消息队列IBM MQ 7.5开发版安装配置详解 文章目录 消息队列IBM MQ 7.5开发版安装配置详解 前言 一.什么是IBM MQ? 二.安装前准备 1.安装前准备 2.安装MQ Server 3 ...

  7. IBM MQ 9.2.4 笔记大全

    IBM MQ note author: joey_lee 官方文档 将测试消息放入本地队列 https://www.ibm.com/docs/en/ibm-mq/9.2?topic=queue-put ...

  8. IBM MQ 基本操作

    IBM MQSeries使用指南 随着计算机网络和分布式应用的不断发展,远程消息传递越来越成为应用系统中不可缺少的组成部分.商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同时也减少了系统 ...

  9. java 集成ibm mq 教程_Spring Boot JMS与IBM WebSphere MQ集成配置

    Spring Boot JMS与IBM WebSphere MQ集成配置 [TOC] 前言 Spring Boot作为简化Spring开发的框架,已经为我们集成了ActiveMQ和RabbitMQ.只 ...

最新文章

  1. 瞎了,苹果说这两个Logo过于相似而提起诉讼...
  2. 史上最轻量K8s发行版,赋能边缘计算
  3. 《途客圈创业记:不疯魔,不成活》一一1.6 申请助跑计划
  4. linux系统调用函数---12
  5. java 实例化是什么及五种实例化方法
  6. 技嘉H81M-DS2 主板安装 XP方法,及网卡驱动安装
  7. 面试官:说说Java反射机制
  8. 微信小程序上传图片解决方案+oss+后端代码
  9. Django开发收银系统二
  10. 安卓手机怎么root_手机怎么root
  11. 英伟达服务器系统显卡驱动,NVIDIA显卡驱动
  12. Chrome浏览器数据本地备份
  13. 好用的android高清播放器,720p谁更流畅?安卓五款视频播放器对比
  14. Linux操作系统笔记(基本命令+环境安装项目部署+Shell编程)
  15. VS导入easyx图形库
  16. wifi6 feature 详解
  17. 【网络游戏同步技术】游戏中的ping值计算
  18. 数学建模学习(27):对策论模型,代码+案例,讲很详细,别开小差,很烧脑!
  19. bat 命令获取当前目录和子目录下的所有文件的文件名
  20. 至联云讲解《IPFS凭什么能让全世界投资者疯狂》

热门文章

  1. h5邮件的邮箱 支持_Coremail发布H5邮箱移动模板新版本,多项新功能让办公更便捷...
  2. springboot毕设项目创新创业管理系统1f90r(java+VUE+Mybatis+Maven+Mysql)
  3. 纳尼,五子棋AI居然这么简单?
  4. js数组几种常见的操作方法攻略
  5. 发布在即,全新 EMQX v5.0 抢先看
  6. 新乡市牧野区开展2021年国家网络安全宣传周活动
  7. java 农历 节假日_基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法...
  8. 在线抓娃娃的基本技术架构
  9. 《脚本》Scapy刺探星巴克无线网,记录顾客信息
  10. 阿泽CSS踩坑系列(二)-解决安卓端手机横屏后图片比例失调,需要刷新才能恢复正常的问题。(华为手机浏览器)