Java – WebSphere MQ 7.1帮助需求 – 访问或安全性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java – WebSphere MQ 7.1帮助需求 – 访问或安全性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2943字,纯文字阅读大概需要5分钟。
内容图文
![Java – WebSphere MQ 7.1帮助需求 – 访问或安全性](/upload/InfoBanner/zyjiaocheng/752/0bcd1f5b50bd49f98b50d6fab95629cf.jpg)
我想在WebSphere MQ服务器上创建一个队列管理器和一个队列,我想做两件事
1)使用客户端框中的WMQ Explorer访问队列管理器和队列
2)编写一个在客户端框上运行的Java独立应用程序,并从队列中放入和接收消息.
但是我收到身份验证例外.请让我知道我做错了什么?
Linux服务器盒:
我安装了WebSphere MQ v7.1
队列管理器QM_TEST创建(crtmqm,strmqm命令)
创建本地队列Q_TEST(runmqsc和定义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
但是我收到以下错误:
Error occurred :JMSWMQ2013: The security authentication was not valid
that was supplied for QueueManager ‘QM_TEST’ with connection mode
‘Client’ and host name ‘hostname(1414)’.
你能帮我吗?如何传递安全认证信息?现在,如果我也可以禁用安全性,那也没关系.只需要让这个工作?
如果我需要提供更多信息,请告诉我.
更新:
我创建了“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访问不允许的错误.请注意,我从作为第三个用户登录的第三台远程计算机(客户端计算机)访问队列管理器和队列.但是我意识到我可以传递’mq-user’凭据.我希望某处有一个明确的分步说明,WebShere MQ 71.信息中心对我来说不够清楚.
这还缺少什么?
解决方法:
对于WMQ的v7.1,队列管理器默认情况下不允许管理连接.因此,如果您使用的ID是mqm,或者它位于MQ服务器上的mqm组中,则它将无法访问. easy(read:NOT SECURE)解决此问题的方法是删除包含规则的CHLAUTH记录. IBM发布了关于此here的技术说明.
更长期和更好的解决方案是保留不允许管理访问的CHLAUTH记录,而是使用不同的用户ID进行连接.当然,该ID需要存在于MQ服务器中并且位于已授权的组中.有关该主题的更多信息,请查看幻灯片和网络研讨会记录here.
当您准备好重新打开安全性时,您可以在t-rob.net找到有关setmqaut命令的大量信息,我在这些命令中存档了IMPACT和欧洲WSTC会议的安全演示和实验.
内容总结
以上是互联网集市为您收集整理的Java – WebSphere MQ 7.1帮助需求 – 访问或安全性全部内容,希望文章能够帮你解决Java – WebSphere MQ 7.1帮助需求 – 访问或安全性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。