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去除认证的更多相关文章

  1. ActiveMQ 安全认证

    修改配置文件 位置: apache-activemq-5.9.0/conf/ vi activemq.xml 在<broker xmlns="http://activemq.apach ...

  2. Linux:去除认证,加速 SSH登录

    编辑配置文件 /etc/ssh/sshd_config vim /etc/ssh/sshd_config 找到 UseDNS选项,如果没有注释,将其注释 #UseDNS yes 添加 UseDNS n ...

  3. ActiveMQ in Action(4) - Security

    关键字: activemq 2.4 Security    ActiveMQ支持可插拔的安全机制,用以在不同的provider之间切换.2.4.1 Simple Authentication Plug ...

  4. activemq用户手册

    1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范. 1.1 JMS的基本构件 1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQCon ...

  5. 转--activemq的官方中文文档

    1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范. 1.1 JMS的基本构件 1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQCon ...

  6. activeMQ 讲解及实战

    #### 软件架构项目中需要用到activeMQ 下载地址:http://activemq.apache.org/download.html #### 安装教程需要安装jdk环境activeMQ免安装 ...

  7. ActiveMQ基本使用

    消息队列,目前在实际的开发项目中应用十分广泛.本文主要介绍入门级的ActiveMQ的基本使用以及相关的概念. 一.JMS 全称 Java Message Service,即Java消息服务.JMS是一 ...

  8. 错误: No API token found for service account "default",

    [root@kubernetes-master pods]# kubectl create -f mysql.yaml Error from server (ServerTimeout): error ...

  9. 46.ActiveMQ开篇(Hello World、安全认证、Connection、Session、MessageProducer、MessageConsumer)

    要给有能力的人足够的发挥空间,公司可以养一些能力平平甚至是混日子的人,但绝不能让这些人妨碍有能力的人,否则这样的环境不留也罢. 一.背景介绍 CORBA\DCOM\RMI等RPC中间件技术已经广泛应用 ...

随机推荐

  1. PHP7内核剖析之执行流程

    以fpm为例: 1.fpm启动时,会先执行 module_startup, 并随着fpm进程常驻 2.当一个请求到达之后,会执行 request_startup, 进行一些请求初始化工作,然后执行代码 ...

  2. nginx的Rewrite重写

        location /{                if ($remote_addr=192.168.1.100){                          //禁止此 ip 访问 ...

  3. 帆软FineBI试用

    FineBI是帆软软件有限公司推出的一款商业智能(Business Intelligence)产品,FineBI的本质是通过分析企业已有的信息化数据,帮助企业发现并解决存在的问题,预测模拟企业将来的发 ...

  4. Oracle基础入门(三)

    一:PLsql一些基本操作 调节plsql的字体大小 二:创建表,如果学过sql server的数据库就会发现其实Oracle跟的一些新建表和新增修改其实是差不多的 新建表 Create table ...

  5. arcgis engine 获取高亮Feature、element

    转自原文 arcgis engine 获取高亮Feature.element IGraphicsContainer pGraphicsC =  mainAxMapControl.Map as IGra ...

  6. java-proxool 异常

    使用 proxool,JDBC连接池,进行批量运行的时候遇到异常: The Thread responsible was named 'Thread-32′, but the last SQL it ...

  7. vue26-2.0循环

    3. 循环 2.0里面默认就可以添加重复数据 arr.forEach(function(item,index){ }); 去掉了隐式一些变量 $index $key 之前: v-for="( ...

  8. 基于 Web 的 Go 语言 IDE - Wide 1.2.0 发布!

    Wide 是什么 Wide 是一个基于 Web 的 Go 语言团队 IDE. 在线开发:打开浏览器就可以进行开发.全快捷键 智能提示:代码自动完成.查看表达式.编译反馈.Lint 实时运行:极速编译. ...

  9. 机器学习(三) Jupyter Notebook, numpy和matplotlib的详细使用 (上)

    工欲善其事,必先利其器.在本章,我们将学习和机器学习相关的基础工具的使用:Jupyter Notebook, numpy和matplotlib.大多数教程在讲解机器学习的时候,大量使用这些工具,却不对 ...

  10. 携手互联网企业10巨头设VC基金

    包括小米科技.盛大集团.人人网.掌趣科技.游族网络.龙图游戏.蓝港互动.37游戏.星辉互动娱乐.博雅互动等10家知名互联网企业作为出资人(LP)的优格创投基金近日正式成立. 众所周知,伴随着移动互联网 ...