Activemq去除认证
0.背景介绍
由于项目安全性的约束,不能在配置文件中暴露一些密码信息。
默认情况下,ActiveMQ在进行接发消息的时候会用户认证。通过ActiveMQ-client初始化ActiveMQConnectionFactory的时候,我们会将用户名和密码暴露在配置文件中。如果对密码进行加密,在程序启动的时候进行解密。有可能存在一点代码量上的改造,【临近上线,这个方案暂时被PASS】。
想通过ActiveMQ服务端去除认证,解决如上所述问题。
1.去除认证
修改ActiveMQ服务端的配置文件。($ActiveMQ_dir/conf/activemq.xml)
在<plugins>节点中注释下列认证方式:
<!-- <jaasAuthenticationPlugin configuration="activemq" /> -->
在<plugins>节点中添加下列认证方式:
<simpleAuthenticationPlugin anonymousAccessAllowed=“true”>
<users>
<authenticationUser username="admin" password="manager"
groups="users,admins"/>
</users>
</simpleAuthenticationPlugin>
<!-- Lets configure a destination based authorization mechanism -->
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" read="admins,anonymous" write="admins,anonymous" admin="admins,anonymous" />
<authorizationEntry topic=">" read="admins,anonymous" write="admins,anonymous" admin="admins,anonymous" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="guests,users,anonymous" write="guests,users,anonymous" admin="guests,users,anonymous"/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
上面配置即是通过认证插件,在接发Query/Topic/ ActiveMQ.Advisory的时候支持匿名用户。
2.测试
带用户名/密码的配置:
<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<constructor-arg index="0" value="${jms.broker.username}"/>
<constructor-arg index="1" value="${jms.broker.password}"/>
<constructor-arg index="2" value="${jms.broker.url}"/>
<property name="useAsyncSend" value="true"/>
</bean>
不带用户名/密码的配置:
<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<constructor-arg index="0" value="${jms.broker.url}"/>
<property name="useAsyncSend" value="true"/>
</bean>
实现结果:修改服务端的配置,客户端去除认证配置。对收发消息无影响。
3.资料参考
ActiveMQ Security:
http://activemq.apache.org/security.html
Activemq去除认证的更多相关文章
- ActiveMQ 安全认证
修改配置文件 位置: apache-activemq-5.9.0/conf/ vi activemq.xml 在<broker xmlns="http://activemq.apach ...
- Linux:去除认证,加速 SSH登录
编辑配置文件 /etc/ssh/sshd_config vim /etc/ssh/sshd_config 找到 UseDNS选项,如果没有注释,将其注释 #UseDNS yes 添加 UseDNS n ...
- ActiveMQ in Action(4) - Security
关键字: activemq 2.4 Security ActiveMQ支持可插拔的安全机制,用以在不同的provider之间切换.2.4.1 Simple Authentication Plug ...
- activemq用户手册
1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范. 1.1 JMS的基本构件 1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQCon ...
- 转--activemq的官方中文文档
1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范. 1.1 JMS的基本构件 1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQCon ...
- activeMQ 讲解及实战
#### 软件架构项目中需要用到activeMQ 下载地址:http://activemq.apache.org/download.html #### 安装教程需要安装jdk环境activeMQ免安装 ...
- ActiveMQ基本使用
消息队列,目前在实际的开发项目中应用十分广泛.本文主要介绍入门级的ActiveMQ的基本使用以及相关的概念. 一.JMS 全称 Java Message Service,即Java消息服务.JMS是一 ...
- 错误: No API token found for service account "default",
[root@kubernetes-master pods]# kubectl create -f mysql.yaml Error from server (ServerTimeout): error ...
- 46.ActiveMQ开篇(Hello World、安全认证、Connection、Session、MessageProducer、MessageConsumer)
要给有能力的人足够的发挥空间,公司可以养一些能力平平甚至是混日子的人,但绝不能让这些人妨碍有能力的人,否则这样的环境不留也罢. 一.背景介绍 CORBA\DCOM\RMI等RPC中间件技术已经广泛应用 ...
随机推荐
- ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(上)
前言 在上篇文章中,详细分析了RACSignal是创建和订阅的详细过程.看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用 ...
- 空宏-标C中空宏的妙用
空宏的作用: 1)编译指示: 2)方便阅读: 定义宏,并在预处理过程中将其替换为空字符串(即删除) 偶然的机会,看到了下面的C代码:ISC_PLATFORM_NORETURN_PRE static v ...
- 冒泡排序php
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <b ...
- Python实现快排
Python实现快排 def quicksort(arr): if len(arr) <= 1: return arr pivot = arr[len(arr) // 2] left = [x ...
- h5调用底层接口的一些知识
之前接触过这方面的知识,一直想写一些关于代码的文字,但考虑到浪费时间,又不具备大神的实力,也不想去把别人的代码照搬过来,所以一直都是空白着的,今天敲代码的时候,有了一个比较好的想法,第一,定位在学习这 ...
- Java基础学习总结(16)——Java制作证书的工具keytool用法总结
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- C++ 输出缓冲区的管理
在C++中,每个I/O对象管理一个缓冲区,用于存储程序读写的数据.本文将对输出缓冲区的管理进行简单的讲解. 举一个简单的例子: myOs << "Please enter a v ...
- static_cast 与 dynamic_cast
- linux设备驱动归纳总结(三):4.ioctl的实现
linux设备驱动归纳总结(三):4.ioctl的实现 一.ioctl的简单介绍: 尽管在文件操作结构体"struct file_operations"中有非常多相应的设备操作函数 ...
- android YUV Sensor配置Camera应用的flash auto菜单
请在Config.ftbl.flashlight.h (mediatek\custom\common\hal\flashlight\src)中. 将全部的两处凝视掉的code: //CameraPar ...