来源:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/ActiveMQ/page/AMQ%E5%AE%89%E5%85%A8%E6%A0%A1%E9%AA%8C%E5%8F%8AAMQ%20Console%E5%AE%89%E5%85%A8%E8%AE%A4%E8%AF%81
作者:蝎子喝茶
AMQ的校验涉及到AMQ Broker和AMQ Console两个部分;
对于AMQ Broker需要添加连接校验机制。AMQ Console部署在嵌入式的Jetty上,因此可以使用BASIC认证。
一. 对AMQ Broker添加校验需要在broker中添加<plugins></plugins>,一下所有操作均需要设置在plugins中。
1. 进行用户组授权配置
<authorizationPlugin> <map> <authorizationMap> <authorizationEntries> <authorizationEntry queue=">" read="admins,users,guests" write="admins,users" admin="admins" /> <authorizationEntry topic=">" read="admins,users,guests" write="admins,users" admin="admins" /> <authorizationEntry topic="ActiveMQ.Advisory.>" read="guests,users" write="guests,users" admin="guests,users"/> </authorizationEntries> </authorizationMap> </map> </authorizationPlugin>
">"为通配符,代表任何消息,被赋予admin操作的用户组具有创建消息队列的权限。
2.1. 使用简单的用户设置策略
<simpleAuthenticationPlugin> <users> <authenticationUser username="system" password="manager" groups="users,admins"/> <authenticationUser username="user" password="password" groups="users"/> <authenticationUser username="guest" password="password" groups="guests"/> </users> </simpleAuthenticationPlugin>
2.2. 使用基于JAAS的认证策略
2.2.1). 配置使用JAAS策略,并定义配置模块为activemq-domain.
<jaasAuthenticationPlugin configuration="activemq-domain" />
2.2.2). 在conf目录中创建login.config文件,并设置用户组文件和用户文件
activemq-domain { org.apache.activemq.jaas.PropertiesLoginModule required debug=true org.apache.activemq.jaas.properties.user="users.properties" org.apache.activemq.jaas.properties.group="groups.properties"; };
2.2.3). 建立groups.properties配置用户组和用户
# 组名=用户名 admins=system users=system,user guests=guest
2.2.4). 建立users.properties配置用户和密码
# 用户名=密码 system=manager user=password guest=password
3. 设置broker连接密码
3.1). 加载证书配置文件
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>file:///${activemq.base}/conf/credentials.properties</value> </property> </bean>
3.2). 设置证书credentials.properties用户密码
# 键=值 activemq.username=system activemq.password=manager
3.3). 设置broker连接用户密码
<networkConnectors> <networkConnector name="host" userName="${activemq.username}" password="${activemq.password}" uri="static://(tcp://localhost:61616)"/> </networkConnectors>
二. 对AMQ Console添加BASIC认证
1. 可以将jetty的配置独立成单独的文件,然后在activemq.xml进行引用
<import resource="jetty.xml"/>
2.1. 在jetty.xml添加BASIC认证
<bean id="userRealm" class="org.mortbay.jetty.security.HashUserRealm"> <property name="name" value="BPMCSecurity"/> <!-- 认证名 --> <property name="config" value="${activemq.base}/conf/jetty-realm.properties"/> <!-- 认证用户密码配置 --> </bean> <bean id="securityConstraint" class="org.mortbay.jetty.security.Constraint"> <property name="name" value="BASIC" /> <!-- 认证方式,采用BASIC认证 --> <property name="roles"> <list> <value>admins</value> <!-- 授权角色:admins --> </list> </property> <property name="authenticate" value="true"/> </bean> <bean id="securityConstraintMapping" class="org.mortbay.jetty.security.ConstraintMapping"> <property name="constraint" ref="securityConstraint"/> <property name="pathSpec" value="/*"/> </bean> <!-- 配置handler --> <bean id="securityHandler" class="org.mortbay.jetty.security.SecurityHandler"> <property name="userRealm" ref="userRealm"/> <property name="constraintMappings"> <list> <ref bean="securityConstraintMapping" /> </list> </property> </bean>
2.2. 添加handler
在Server bean的handler属性中设置HandlerCollection,并添加handlers list中内容
<list> <ref bean="securityHandler" /> </list>
2.3. 添加配置文件jetty-realm.properties
# 格式(用户名:密码,用户组) system: manager,admins
相关推荐
AMQ样例,参考,消息总线 改成多渠道分布处理
Eclipse编写的利用AMQ进行通讯处的java小程序,用jdk1.6
实现基于Spring和非Spring的AMQ代码,两套!
springboot+amq+javamail+maven的项目,亲测可以用,注意改邮箱地址就行了
activeMQ的接收端与发送端分离出来的,接收与发送分离,运行之后在MQ控制台查看。
阿帕奇amq最新linux系统下安装包,没有广告,解压即用
spring整合amq,需要的来下载,不需要几分
40GBASE-SR QSFP+ 规格书
最新在做ActiveMQ Web端开发时,绕了很多路找到了这个插件,小编在这里就贡献了给爱学习小伙伴用。
CentOS环境安装配置AMQ集群以及zookeeper集群的安装配置
红帽 AMQ 示例 该存储库包含一组与 Red Hat AMQ 消息传递套件组件一起使用的示例。 :股票报价应用程序展示了来自浏览器的rhea javascript 客户端、websockets 和 TLS 连接 :简单Hello World的NodeJS应用特色rhea ...
amq-spring-jms.pdf Enterprise Messaging With ActiveMQ and Spring JMS
AMQ脚本这是所有脚本的万能库,可提高“中游戏/生活质量的所有脚本。用法可以通过将大多数脚本导入浏览器扩展程序来使用它们,例如用于.js文件的和用于.css文件的 。 在特定项目的文件夹中可以找到更多信息。 design...
然后使用amq_scraper.py脚本中保存的CSV文件获取JSON文件。 用法是: amq_scraper.py <sheet> 一些较旧的文件可能包含JSON错误,必须手动更正。 但是,如果您从此存储库下载JSON文件而不是再次抓取它们,则应该...
AMQ脚本userscripts动漫音乐测验的* monkey用户脚本集合amqCoopPaste.user.js Kinda现在在官方团队模式下已经无法使用,但是如果每个人都一个人玩,以个人玩家的身份玩游戏,每个正确答案仍然会提供更多XP /音符。...
骆驼-wmq-amq Camel IBM Websphere MQ 到 Active MQ 桥接路由 先决条件 IBM 为安装在 Fuse 上的 MQ 客户端提供了 OSGi jar 文件IBM_MQ_INSTALL_DIR/java/lib/OSGi 运行 AMQ 代理 带有填充属性的 JBOSS_FUSE_INSTALL...
JMS和文件示例 介绍 本示例使用骆驼框架创建一个简单的生产者和消费者。 建造 您将需要首先编译此示例: mvn compile 消费者运行 如果您键入该示例应运行 mvn camel:run 这将创建队列“ testclient.payment....
amq_1025_服装公司ISO体系之监视和测量装置管理程序.doc
Red Hat JBoss A-MQ xPaaS产品应该已经安装并在OpenShift安装上运行,一种运行A-MQ服务的简单方法是遵循与amq63-basic模板相关的OpenShift的A-MQ xPaaS映像的文档。 。 然后,以下命令将打包您的应用并在OpenShift...
快速入门自述文件使用可替换值AMQ_HOME表示JBoss A-MQ安装的路径。 当您在README文件中遇到此值时,请确保将其替换为JBoss A-MQ安装的实际路径。 建议的快速入门方法 我们建议您按照以下方法进行快速入门: 无论您...