rocket mq 用户名密码访问
1、在rocket mq 的conf/broker.conf文件新增一行aclEnable=true
2、在rocket mq 的conf/plain_acl.yml 文件增加topic的权限
globalWhiteRemoteAddresses:
- 10.10.15.*
- 192.168.0.*
accounts:
- accessKey: RocketMQ
secretKey: 12345678
whiteRemoteAddress:
admin: false
defaultTopicPerm: DENY
defaultGroupPerm: SUB
topicPerms:
- topicA=DENY
- topicB=PUB|SUB
- topicC=SUB
groupPerms:
# the group should convert to retry topic
- groupA=DENY
- groupB=PUB|SUB
- groupC=SUB
- accessKey: rocketmq2
secretKey: 12345678
解释:PUB生产者权限,SUB是订阅者权限,DENY是拒绝。
这里只有accessKey的为admin权限时才可以创建和修改topic。
增加acl的maven依赖:
生产者代码:
package acl;import org.apache.rocketmq.acl.common.AclClientRPCHook; import org.apache.rocketmq.acl.common.SessionCredentials; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException;public class AclProducer {public static void main(String[] args)throws MQClientException, InterruptedException, RemotingException, MQBrokerException {DefaultMQProducer producer = new DefaultMQProducer("rexel_notice_p1", getAclRPCHook());producer.setNamesrvAddr("192.168.29.100:9876;192.168.29.101:9876");producer.start();Message msg = new Message("rexel_notice" ,"*" , ("Hello RocketMQ ").getBytes());SendResult sendResult = producer.send(msg);System.out.printf("%s%n", sendResult);producer.shutdown();}static RPCHook getAclRPCHook() {return new AclClientRPCHook(new SessionCredentials("rexel_developer","19@ljWo2iUow"));} }
消费者代码:
package acl;import java.util.List; import org.apache.rocketmq.acl.common.AclClientRPCHook; import org.apache.rocketmq.acl.common.SessionCredentials; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.consumer.rebalance.AllocateMessageQueueAveragely; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.consumer.ConsumeFromWhere; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.remoting.RPCHook;public class AclConsumer {public static void main(String[] args) throws MQClientException {DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("rexel_notice_g1", getAclRPCHook(), new AllocateMessageQueueAveragely());consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);consumer.subscribe("rexel_notice", "*");consumer.setNamesrvAddr("192.168.29.100:9876;192.168.29.101:9876");consumer.registerMessageListener(new MessageListenerConcurrently() {@Overridepublic ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,ConsumeConcurrentlyContext context) {System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs);return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;}});consumer.start();System.out.printf("Consumer Started.%n");}static RPCHook getAclRPCHook() {return new AclClientRPCHook(new SessionCredentials("rexel_developer","19@ljWo2iUow"));} }
增加了权限之后,没有办法通过控制台命令上创建topic了。
是通过rocketmq-console来进行Topic及ConsumerGroup管理的。
rocket mq 用户名密码访问相关推荐
- 二、Prometheus TLS加密认证和基于 basic_auth 用户名密码访问
文章目录 Prometheus 基于用户名密码访问 1. `Node Export`端配置密码 2. 在被监控端这里生成密码 3. 在node_exporter中新增配置文件 4. node_expo ...
- Kafka配置用户名密码访问
1 软件版本 kafka_2.12-2.4.0.tgz(带zookeeper) 2 kafka服务端部署 2.1 将安装包上传到服务器,并解压 tar zxvf kafka_2.12-2.4.0.tg ...
- Identity Server4学习系列四之用户名密码获得访问令牌
1.简介 Identity Server4支持用户名密码模式,允许调用客户端使用用户名密码来获得访问Api资源(遵循Auth 2.0协议)的Access Token,MS可能考虑兼容老的系统,实现了这 ...
- C#访问网络共享文件夹,带用户名密码域,解决电脑重启后访问不到网络文件夹
问题:winform访问网络共享文件夹,电脑重启后访问不到指定目录 原因:访问网络共享文件夹目录需要相关的用户凭据,文件资源管理器可以记住凭据,但是电脑重启后直接用软件访问网络文件夹路径是没有凭据的, ...
- nginx配置访问密码,让用户输入用户名密码才能访问
如果我们在 nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证.只有让用户输入正确的用户名和密码才能正常访问.效果如下: 在 ngi ...
- win7系统下访问网上邻居提示用户名密码错误
win7系统下访问网上邻居提示用户名密码错误 解决方法如下: 1)在搜索栏中输入gpedit.msc调出组策略编辑器 2)计算机配置下依次点击[windows设置]--[安全设置]--[本地策略]-- ...
- Nginx之让用户通过用户名密码认证访问web站点
有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问. 那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那 ...
- 【阿里云 Linux 服务器】在阿里云购买的 Linux 或者 Windows 服务器,在用 putty 访问的时候不知道用户名密码怎么办?
阿里云服务器学习一: 问题描述: 在阿里云购买的 Linux 或者 Windows 服务器,在用 putty 访问的时候不知道用户名密码怎么办 解决方法: 购买的阿里云服务器一开始没有所谓的初始密码, ...
- Windows 7英文版访问2003或XP共享时提示用户名密码错误的解决办法
我这个人没事就喜欢玩系统,前两天把系统从Windows 2008 R2换回了英文版Windows 7(装了汉化包),但却无法访问Windows Server 2003的共享了,但用同一个密码能访问20 ...
最新文章
- 鸿蒙系统方舟运行时,方舟编译器立功!第三方App已经落地,距离鸿蒙系统还会远吗?...
- 赠票 | 第三届语言与智能高峰论坛200个免费参会名额!
- 程序员的浪漫:女神节专用开源项目
- 抽象类的基本概念------abstract
- java+character类使用_Java Character类应用实例
- 太极图python自定义函数绘制_[宜配屋]听图阁
- 在sharepoint中添加视频播放
- 记一次ajax交互问题
- Atitit TPL(事务处理语言 目录 1.1. 事务隔离级别	1 1.2. Savepoint技术	1 2. Tpl	1 2.1. 打开事务 START TRANSACTION;	1 2.2.
- 全国计算机二级公共基础知识电子版,全国计算机二级公共基础知识汇总.pdf
- 最全地理数据下载地址/全国地表径流量数据获取/土地利用数据/植被类型数据/NPP数据/土壤侵蚀数据/土壤质地分类/降雨量栅格数据/太阳辐射量数据
- CSS角度单位:deg、grad、rad、turn
- 尚德机构2020年Q4财报:净收入5.85亿元,管理费用同比大幅下降近五成
- 输入输出流,看似复杂却更好用----小话c++(2)
- ios关联启动_部落冲突电脑版与IOS设备关联教程
- Centos 7分辨率调整成适应虚拟机屏幕大小
- Elasticsearch Kibana Filebeat开启SSL通信
- 跨境电商前景 跨境电商运营前景待遇
- 基于爬虫+人脸识别库实现指定人物自动采集
- CVPR2019目标检测汇总