WebSphere MQ 7.1 帮助需求 - 访问或安全性

2023-12-05

我想在 WebSphere MQ 服务器上创建一个队列管理器和一个队列,并且我想做两件事 1) 使用 WMQ Explorer 从客户端访问队列管理器和队列 2) 编写一个在客户端上运行的 Java 独立应用程序,并从队列中放入和接收消息。

但是我遇到了身份验证异常。请让我知道我做错了什么?

Linux 服务器盒:

我安装了 WebSphere MQ v7.1
队列管理器QM_TEST创建(crtmqm, strmqm命令)
本地队列Q_TEST创建(runmqscdefine qlocal)
SVRCONN 通道定义(DEFINE CHANNEL (TEST_CHANNEL) CHLTYPE (SVRCONN) TRPTYPE (TCP))
启动了一个监听器(runmqlsr -t tcp -m QM_TEST -p 1414)

Linux 客户端盒:

尝试使用主机名、IP 地址、队列管理器名称和通道名称显示/隐藏队列管理器;但是我收到以下错误:

Access not permitted. You are not authorized to perform this operation. (AMQ4036)
Severity: 10 (Warning)
Explanation: The queue manager security mechanism has indicated that the userid associated with this request is not authorized to access the object.

尝试使用java代码访问队列管理器和队列,重点如下:

public void sendMail(Mail mail) { MQConnectionFactory cf = new
MQQueueConnectionFactory(); Connection conn = null; try { //config
cf.setHostName("hostname"); cf.setPort(1414);
cf.setQueueManager("QM_TEST"); cf.setChannel("TEST_CHANNEL");
cf.setTransportType(WMQConstants.WMQ_CM_CLIENT);//WMQ_CM_DIRECT_TCPIP);
WMQ_CM_CLIENT

conn = cf.createConnection(); //fails here

但是我收到以下错误:

发生错误:JMSWMQ2013:安全身份验证无效 为具有连接模式的 QueueManager 'QM_TEST' 提供 “客户端”和主机名“主机名(1414)”。

你能帮我吗?如何传递安全认证信息?现在,如果我也可以禁用安全性就可以了。只需要让这个工作?

如果我需要提供更多信息,请告诉我。


UPDATE:
我创建了“mq-user”linux 用户(mq-users 组)。 CHLAUTH 已启用(默认)。 创建队列管理器 QM_TEST (使用 sudo mqm)后,我使用 sudo mqm 再次执行以下 mqsc 命令:

DEFINE QLOCAL(TEST_QUEUE)
SET AUTHREC PROFILE('TEST_QUEUE') OBJTYPE(QUEUE) PRINCIPAL('mq-user') AUTHADD(PUT,GET)
SET AUTHREC OBJTYPE(QMGR) PRINCIPAL('mq-user') AUTHADD(CONNECT)
DEFINE CHANNEL (TEST_CHANNEL) CHLTYPE (SVRCONN) TRPTYPE (TCP)
SET CHLAUTH(TEST_CHANNEL) TYPE(ADDRESSMAP) ADDRESS('xxx.xx.xxx.*') MCAUSER('mq-user')
DEFINE LISTENER (TEST_LISTENER) TRPTYPE (TCP) CONTROL (QMGR) PORT (1414)
START LISTENER (TEST_LISTENER)

我仍然收到 AMQ4036 access not allowed 错误。请注意,我从以第三个用户身份登录的第三台远程计算机(客户端计算机)访问队列管理器和队列。不过我意识到我可以传递“mq-user”凭据。我希望在某个地方有明确的分步说明,WebShere MQ 71。信息中心对我来说还不够清楚。

这里还缺少什么?


对于 WMQ v7.1,队列管理器默认不允许管理连接。因此,如果您使用的 ID 是mqm或者如果它在mqmMQ 服务器上的组,它将无权访问。解决此问题的简单(读作:不安全)方法是删除包含该规则的 CHLAUTH 记录。 IBM 发布了有关此的技术说明here.

更长期、更好的解决方案是保留不允许管理访问的 CHLAUTH 记录,而是使用不同的用户 ID 进行连接。当然,该 ID 需要存在于 MQ 服务器中并且位于授权的组中。有关该主题的更多信息,请查看幻灯片和网络研讨会录音here.

当您准备好重新打开安全性时,您可以找到有关哪些内容的大量信息setmqaut使用的命令t-rob.net我在这里存档了 IMPACT 和欧洲 WSTC 会议的安全演示文稿和实验。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebSphere MQ 7.1 帮助需求 - 访问或安全性 的相关文章

  • 如何让Spring RabbitMQ创建一个新的队列?

    根据我对rabbit mq的 有限 经验 如果您为尚不存在的队列创建新的侦听器 则会自动创建该队列 我正在尝试将 Spring AMQP 项目与rabbit mq 一起使用来设置侦听器 但出现错误 这是我的 xml 配置
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • Javadoc 1.5 和 1.6 中缺少 enum.valueOf(String name)

    这可能是一个愚蠢的问题 但我正在使用该方法enum valueOf String name 那里没问题 只是当我检查 javadoc 以了解有关此方法的更多信息时 我找不到它 有javadoc用于valueOf Class
  • 线程“main”java.lang.UnsatisfiedLinkError中出现异常:java.library.path中没有opencv_java249

    我目前正在尝试在我的 32 位笔记本电脑上设置 OpenCV 但我不断收到一条令我困惑的错误消息 Exception in thread main java lang UnsatisfiedLinkError no opencv java2
  • 使用 jpql 和 jpa 从日期字段中提取年份

    我想从数据库中的一行中提取年份部分 以便将其与值进行比较 这是我的功能 public List
  • 如何测试调用父类的受保护(不需要的)方法的方法?

    我陷入了一个非常奇怪的情况 我有一些需要测试的特定代码 这里是 public class A The real method of real class is so big that I just don t want to test it
  • @OneToMany 与 @JoinTable 错误

    我试图理解 OneToMany with JoinTable 对于这样的场景 我正在使用 JPA 2 1 Hibernate 5 0 4 和 Oracle 11 XE 当我打电话时userDao save user 下面的代码 我有 jav
  • 在 TestNG 中运行多个类

    我正在尝试自动化一个场景 其中我想登录一次应用程序 然后进行操作而无需再次重新登录 考虑一下 我有在特定类的 BeforeSuite 方法中登录应用程序的代码 public class TestNGClass1 public static
  • 如果基于 Spring 注解的控制器位于 jar 文件内,则该控制器无法工作

    我的子模块中有一些基于注释的控制器 这些模块作为 jar 文件部署 jar 文件中基于注释的控制器未加载到 spring 配置中 我使用 Eclipse 中的导出实用程序手动导出 jar 文件 有人遇到过这个问题吗 当您使用 Eclipse
  • 新标签页和浏览器窗口中的 CSRF 令牌

    我通过以下方式在我的nodejs服务器上实现了CSRF攻击预防 登录时的用户会收到 CSRF 令牌和 cookie 存储在 cookie 中的基于 JWT 的令牌 CSRF 令牌将成为客户端发送的所有未来请求标头的一部分 ajaxSetup
  • BlackBerry SQLite:将一个 SQLite 数据库连接到另一个

    我正在尝试使用 SQLite 将一个 SQLite 数据库附加到 BlackBerry 上的另一个数据库附加数据库 http www sqlite org lang attach html命令 Database d1 d2 Statemen
  • 打印 jasper 文件时执行报表 SQL 语句时出错

    我修改了一个旧项目 但无法确定这段代码有什么问题 使用下面的 jrxml它创造 jasper文件 当我打印 jasper 文件时 使用此代码JasperPrint jasperPrint JasperFillManager fillRepo
  • 如何使用 Guava 连接字符串?

    我写了一些代码来连接字符串 String inputFile for String inputLine list inputFile inputLine trim 但我不能使用 连接 所以我决定使用 Guava 所以我需要使用Joiner
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • HTTP PUT 在 Java 中上传文件

    Edit 我想我已经弄清楚如何执行二进制数据部分 仔细检查代码 但我很确定我做对了 现在 当我尝试按照中所述完成上传时遇到新错误Vimeo API 文档 http vimeo com api docs upload streaming Ed
  • 我们可以使用 for-each 循环来迭代 Iterator 类型的对象吗? [复制]

    这个问题在这里已经有答案了 如果我们执行以下操作 我们会收到错误 class FGH public static Iterator reverse List list Collections reverse list return list
  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的
  • 编写自定义 Eclipse 调试器

    EDIT 一定有某种方法可以解决这个问题 而无需编写全新的调试器 我目前正在研究在现有 java 调试器之上构建的方法 如果有人对如何获取 Java 调试器已有的信息 有关堆栈帧 变量 原始数据等 有任何想法 那将非常有帮助 我想要做的是我
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 我找不到 IntelliJ 快捷方式

    我使用 vim 一段时间 我知道有一个 intellij vim 插件 我很好奇内置的 IntelliJ 文本导航存在什么 如何打开实时模板来创建模板 如何查看以 tr 开头的现有模板列表 如何进行全局搜索并在当前文档中进行搜索 然后转到下

随机推荐

  • 如何使用 uiwebview 和 swift 登录网站?

    我想尝试在 ios 应用程序中使用 UIWebView 登录网页 但是 我不知道该怎么做 我正在显示网站 let url NSURL string http m falalem com let request NSURLRequest UR
  • /proc/sys/kernel/sched_child_runs_first 工作吗?

    我了解到设置一个非零值 proc sys kernel sched child runs first将强制子进程在父进程之前运行 但是 我认为这似乎不起作用 这是我的代码 include
  • 如何在txt文件中添加新行

    我想将带有文本的新行添加到我的 date txt 文件中 但应用程序不是将其添加到现有的 date txt 中 而是创建新的 date txt 文件 TextWriter tw new StreamWriter date txt write
  • Emacs:“查找文件”而不更改工作目录

    My c c projects tend to have fairly straightforward directory structures which separate out src include bin etc I also t
  • XSLT:根据其他节点的值之和进行排序

    我对 xslt 编码相当陌生 并且在尝试执行以下操作时遇到了困难 我有一个 xml 文件 其中包含马匹的繁殖信息 分为两个主要部分 1 马匹节点包含每匹马的表现详细信息以及其父亲的 ID 2 种马节点是还保存育种具体统计数据的种马列表 我需
  • 将经典 ASP 请求路由到 .NET - SEO 重定向

    我们正在用 NET 3 5 解决方案替换旧的经典 asp 网站 我们需要将所有经典 ASP 请求重定向到 aspx 页面 即 contactus asp 现在可能路由到 contact us default aspx 我想要的是点击 glo
  • Magento:在主页上显示新产品

    我正在开发我的第一个 Magento 项目 我想将新产品展示到首页 我已经研究并添加了这段代码 block type catalog product new column count 6 products count 3 name home
  • 如何从 std::cin 读取直到流结束?

    我的问题是 我想读取输入std cin但不知道输入有多长 我也必须char并且不能使用std string 我必须处理两种方法 a 用户输入文本 当他点击 ENTER 时 程序停止读取 b 用户重定向std cin到一个文件 例如 a op
  • 使用通用 EventHandler<> 的事件在设计器中不可见

    我刚刚注意到 如果我使用通用事件处理程序将事件添加到我的 UserControl 则当我将用户控件添加到表单时 该事件在设计器中不可见 public event EventHandler
  • Flask请求:确定确切的路径,包括是否有问号

    有没有办法确定向服务器请求的路径 包括它是否包含问号 应用程序 from flask import Flask Response request def root return Response f full path request fu
  • 创建多个输出文件时将输出文件写入不同的目录

    我正在使用 fortran 95 我有一个非常类似于的问题访问主程序子目录中的文件 我遇到的另一个问题是 我使用以下命令循环创建文件 write fn fmt a i0 a degseqA filenumber dat open unit
  • C typedef 结构体指针

    我遇到过以下代码 typedef struct double x double y double z vector 这是有效的类型定义吗 代码编译并运行良好 我只是好奇这是否是常见做法 绝对有效 通常 您可以通过一起定义两种类型来充分利用这
  • 在 Windows 7 上使用外部程序时,git diff tmp 文件在 Windows 上无效

    我正在关注来自的文档Git配置页面并尝试将其应用到我的 Windows 7 环境中 当我运行 git diff file0 时 我在 P4Merge 中收到错误 Errors tmp cH9ccM file0 is or points to
  • 使用 EL 动态访问 Bean 属性

    我需要在 JSP 页面中使用 EL 访问其名称存储在变量中的 bean 的属性 如果我要访问名为 description 的属性 那么我会访问 bean description 但由于该属性的名称存储在变量 name 中 我不知道如何在 E
  • JavaMail 中的 HELO 名称无效

    使用 JavaMail 发送邮件时出现以下错误 这是不寻常的 因为它已经工作了一段时间 直到现在还没有做出任何改变 550 Access denied Invalid HELO name See RFC2821 4 1 1 1 com su
  • Jhipster / md-button 不是已知元素

    你好我正在使用 JHipster 4 0 1 我想将 Angular 2 材料集成到我的 home component 中 我做了 npm 安装材料 npm install angular2 核心 按钮
  • 意外的阴影和“已删除[符号]”

    如果您对以下代码求值两次 结果将会不同 谁能解释一下发生了什么事吗 findHull points Module Needs ComputationalGeometry ConvexHull points findHull RandomRe
  • 将 javascript 变量发送到 django 视图

    我正在 JavaScript 变量 例如 var url 中获取浏览器的当前 url 不断变化 我有一个 django 模型 Url 我想使用视图函数创建它的对象create url 早些时候当我使用表单时 我使用request POST
  • 如何从服务检查新的 android 6.0 权限

    我有一个 Android 6 0 应用程序 其未绑定的 Android 服务连接到 Google API 以接收 Fused API 位置提供商更新 为此 我需要 ACCESS FINE LOCATION 权限 一切都工作正常 直到更新到棉
  • WebSphere MQ 7.1 帮助需求 - 访问或安全性

    我想在 WebSphere MQ 服务器上创建一个队列管理器和一个队列 并且我想做两件事 1 使用 WMQ Explorer 从客户端访问队列管理器和队列 2 编写一个在客户端上运行的 Java 独立应用程序 并从队列中放入和接收消息 但是