消息中间件activemq-5.14.1安全验证配置

activemq分为控制端和客户端,下面分别介绍安全认证配置方法。

1.控制端安全配置

(1). ActiveMQ目录conf下找到jetty.xml:

<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
    <property name="name" value="BASIC" />
    <property name="roles" value="user,admin" />
    <!-- set authenticate=false to disable login -->
    <property name="authenticate" value="true" />
</bean>

含义:

<property name="authenticate" value="true" />      true:需要认证; false:不需要认证

(2). ActiveMQ目录conf下找到jetty-realm.properties

# username: password [,rolename ...]
admin: admin123, admin
user: user, user

说明:

第一个admin,为认证用户名。 
第二个admin123,为认证密码。 
第三个admin,为角色。

(3).  重启ActiveMQ验证是否需要认证
重启activemq后,访问:http://127.0.0.1:8161/admin/,弹出http基本认证框,这时候认证生效。

1.客户端安全配置

(1). 解压目录/conf/activemq.xml的broken中添加:

        <plugins>
            <!--  use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->       <!--  添加jaas认证插件activemq在login.config里面定义,详细见login.config-->

<jaasAuthenticationPlugin configuration="activemq" />
            <!--  lets configure a destination based authorization mechanism -->
            <authorizationPlugin>
                <map>
                    <authorizationMap>
                        <authorizationEntries>
                            <authorizationEntry topic=">" read="admins" write="admins" admin="admins" />
                            <authorizationEntry queue=">" read="admins" write="admins" admin="admins" />                            <!--authorizationEntry topic="FirstTopic" read="smeall,smeadmin" write="smeadmin" admin="smeall,smeadmin" /-->
                            <authorizationEntry topic="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins"/>
                            <authorizationEntry queue="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins"/>
                        </authorizationEntries>
                    </authorizationMap>
                </map>
            </authorizationPlugin>
        </plugins>

ps:

1.<jaasAuthenticationPlugin configuration="activemq" />指定了使用JAAS插件管理权限,至于configuration="activemq"是在login.conf文件里定义的

2.<authorizationEntry topic="FirstTopic" read="smeall,smeadmin" write="smeadmin" admin="smeall,smeadmin" />指定了具体的Topic/Queue与用户组的授权关系

3.<authorizationEntry topic="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins"/>这个是必须的配置,不能少

若是集群则broken中继续添加:

        <networkConnectors>
            <networkConnector userName="用户名" password="密码" uri="static:(tcp://localhost:61616)" duplex="true"/>
        </networkConnectors>

此配置可以忽略掉

(2). 解压目录/conf/login.config中:

 activemq{
    org.apache.activemq.jaas.PropertiesLoginModule required
    debug=true
    org.apache.activemq.jaas.properties.user="users.properties"
    org.apache.activemq.jaas.properties.group="groups.properties";
};

(3). 解压目录/conf/groups.properties中:

admins=用户名

(4). 解压目录/conf/users.properties中:

用户名=密码
时间: 2024-10-28 15:49:08

消息中间件activemq-5.14.1安全验证配置的相关文章

14.3 验证配置

14.3 验证配置 14.3.1 启动验证配置 在创建群集之前,需要验证所有的节点是否符合群集的要求. 打开"故障转移群集管理器".在主菜单上选择"操作",再选择"验证配置". 14.3.2 验证配置 根据验证配置向导,完成对所有节点的验证. 在"开始之前"页,单击"下一步"继续. 在"选择服务器或群集"页,输入服务器名称,然后单击"添加"按钮.请依次添加所有的服务器

Red Hat Linux6.8 中的安装ActiveMQ 5.14.1

Linux中的安装ActiveMQ 5.14.1 1.下载相关ActiveMQ安装包 下载路径:http://activemq.apache.org/download.html 下载最新安装包,选择Linux版进行下载 2.解压重命名 (1)解压: # tar -zxvf  apache-activemq-5.14.1-bin.tar.gz -C /usr/local (2)重命名activeMQ # mv apache-activemq-5.14.1 ActiveMQ (3)由于启动脚本act

activemq的持久化部署与验证

Activemq是著名的消息队列产品,而持久化指的是在mq挂掉的时候,消息不会被抛弃,而是会被继续保存,等待进程复活.这个Activemq的持久化功能必须在5.9版本以上才会实现,而现在官方最新的mq版本是5.14.1,笔者的这个实验也是使用5.14.1版本,实验工具是金山云,规格是2核4G无外网. #wget http://www.apache.org/dyn/closer.cgi?filename=/activemq/5.14.1/apache-activemq-5.14.1-bin.tar

C#微信开发-微信JS-SDK(1)之通过config接口注入权限验证配置

官方文档是微信JS-SDK的使用步骤http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#JSSDK.E4.BD.BF.E7.94.A8.E6.AD.A5.E9.AA.A4 ,很多人在config接口注入权限验证配置的时候出现signature(签名无效),在这把自己开发的代码分享一下 一.验证权限我们需要获取四个参数appId.timestamp.nonceStr.signature参数获取详细见官方文档:ht

ActiveMQ的几种集群配置

ActiveMQ是一款功能强大的消息服务器,它支持许多种开发语言,例如Java, C, C++, C#等等.企业级消息服务器无论对服务器稳定性还是速度,要求都很高,而ActiveMQ的分布式集群则能很好的满足这一需求,下面说说ActiveMQ的几种集群配置. Queue consumer clusters 此集群让多个消费者同时消费一个队列,若某个消费者出问题无法消费信息,则未消费掉的消息将被发给其他正常的消费者,结构图如下: Broker clusters 此种配置是一个消费者连接到多个bro

ActiveMQ + ZooKeeper 集群高可用配置

一. 准备条件: (1) 最好是有3台服务器[2台也行, 只是根据(replicas/2)+1 公式至少得2个ActiveMQ服务存在才能保证运行, 自己测试的时候麻烦点, 关掉其中一个, 再开启, 看会不会选举到另一个ActiveMQ服务, 多试几次可以看到效果] (2)  ActiveMQ安装参考: ActiveMQ (3)  ZooKeeper安装参考:ZooKeeper 二. 配置 : ActiveMQ根目录下的conf/activemq.xml, 原来默认如下: <persistenc

ActiveMQ(14):Destination高级特性

一.Wildcards Wildcards用来支持名字分层体系,它不是JMS规范的一部分,是ActiveMQ的扩展.ActiveMQ支持以下三种wildcards: 1:"." 用于作为路径上名字间的分隔符 2:"*" 用于匹配路径上的任何名字 3:">" 用于递归地匹配任何以这个名字开始的destination 示例,设想你有如下两个destinations PRICE.STOCK.NASDAQ.IBM (IBM在NASDAQ的股价) P

Subversion的安装部署与用户验证配置

注:本例采取subversion+apache的模式 一:所需软件包下载 编译svn需要依赖sqlite库,RHEL5自带的rpm包版本太低,编译不能通过. #wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz #wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2 #wget http://archive.apache.org/dist/h

[转]ActiveMQ的几种集群配置

ActiveMQ是一款功能强大的消息服务器,它支持许多种开发语言,例如Java, C, C++, C#等等.企业级消息服务器无论对服务器稳定性还是速度,要求都很高,而ActiveMQ的分布式集群则能很好的满足这一需求,下面说说ActiveMQ的几种集群配置. Queue consumer clusters 此集群让多个消费者同时消费一个队列,若某个消费者出问题无法消费信息,则未消费掉的消息将被发给其他正常的消费者,结构图如下: Broker clusters 此种配置是一个消费者连接到多个bro