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. vmware fusion8 序列号

  2. bzoj5085: 最大 暴力 二分

    Code: #include<cstdio> #include<algorithm> #include<cstring> #include<iostream& ...

  3. 【Fiddler】使用fiddler抓取指定浏览器的包

    参考资料:http://blog.csdn.net/sufubo/article/details/49331705 使用fiddler抓取不到浏览器的包时常用的解决办法: 1.必须先打开Fiddler ...

  4. caioj 1412 动态规划3:a+b问题(完全背包方案数)

    每个素数就是一个物品,然后就相当于求完全背包方案数 把max改成+就好了. #include<cstdio> #include<vector> #include<cstr ...

  5. MYSQL 更新时间自己主动同步与创建时间默认值共存问题

    本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50326259 在使用SQL的时候,希望在更新数据的时候自己主动填充 ...

  6. SharePoint Search之(五)Query spelling correction— 查询拼写纠正

     Query spelling correction 在使用搜索引擎的时候.假设一不小心输入错误,或者对于某个词语记得不太清楚,搜索引擎会自己主动纠正: 这个功能可以缩短用户的时间,很好用.在Sh ...

  7. vim 脚本之快速打印log

    " zsl_log.vim " Version: 1.0 if exists("g:zsl_loaded_log") || &cp || v:versi ...

  8. Ubuntu 安装软件和centos 对比命令

    之前都是使用Redhat 或者Centos 等rpm的linux  ,开始使用ubuntu 很不习惯 1.  安装命令Centos  : yum install httpd               ...

  9. springboot 统一管理异常信息

    新建ResponseEntityExceptionHandler的继承类:(依然,需要入口类扫描) /** * @author sky * @version 1.0 */ @ControllerAdv ...

  10. SQL Server 多种分页查询效率

    关于SQL语句分页,网上也有很多,我贴一部分过来,并且总结自己已知的分页到下面,方便日后查阅. 方法1 适用于 SQL Server 任何版本 SELECT TOP 页大小 * FROM table1 ...