`
lious_xun
  • 浏览: 5614 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Activemq安全性配置

    博客分类:
  • JMS
 
阅读更多

原文地址:http://blog.csdn.net/ichsonx/article/details/8540004

                 http://log-cd.iteye.com/blog/585616

                 http://blog.csdn.net/scorpio3k/article/details/5860433

----------------------------------------------------------------------------------------------------------------------------------

AMQ的安全配置分为:AMQ Broker(连接服务安全配置)和AMQ Console(控制台安全配置)两部分;

----------------------------------------------------------------------------------------------------------------------------------

1.控制台安全配置

 

ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到

  1. <bean id="securityConstraint" class="org.eclipse.jetty.http.security.Constraint">    
  2.         <property name="name" value="BASIC" />    
  3.         <property name="roles" value="admin" />    
  4.         <property name="authenticate" value="false" />    
  5. </bean>    

将property name为authenticate的属性value="false" 改为"true",设置成使用登录密码。
控制台的登录用户名密码保存在conf/jetty-realm.properties文件中。

用户格式定义: 用户名:密码[角色] 用户名为admin,密码为admin,角色为admin的用户

控制台访问地址: http://127.0.0.1:8161/admin/

----------------------------------------------------------------------------------------------------------------------------------

2.JMS服务安全配置 ------分为两种 :简单的证书文件安全认证和 JASS认证

 

 

2.1 、简单的安全认证(使用SimpleAuthenticationPlugin) 
(1)设置证书文件,conf/credentials.properties  文件中设置用户名和密码:

  1. activemq.username=logcd  
  2. activemq.password=028cd  

(2)配置simpleAuthenticationPlugin,简单认证插件 

  1. <!--加载属性配置文件-->  
  2.   <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  3.      <property name="locations">  
  4.         <value>file:///${activemq.base}/conf/credentials.properties</value>  
  5.      </property>        
  6.   </bean>  

注意  :plugins标签 加在 broker标签中

  1. <!--在Broker中,配置插件-->  
  2.     <plugins>   
  3.         <simpleAuthenticationPlugin>   
  4.             <users>   
  5.                 <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/>   
  6.             </users>   
  7.         </simpleAuthenticationPlugin>   
  8.     </plugins>   


(3)在connectionFactory中,使用用户名和密码。 

Java代码  收藏代码
  1. ConnectionFactory cf = new ActiveMQConnectionFactory("logcd", "028cd", "tcp://195.2.199.169:61616")   
Xml代码  收藏代码
  1. <bean id="queueConnectionFactory"  
  2.         class="org.apache.activemq.spring.ActiveMQConnectionFactory" >  
  3.         <property name="brokerURL" value="tcp://195.2.199.169:61616" />  
  4.         <property name="userName" value="logcd" />   
  5.         <property name="password" value="028cd" />   
  6.         <property name="useAsyncSend" value="true"/>  
  7. </bean>  

 

 

2.2 JAAS身份验证

 

2.2.1 .在conf/activemq.xml文件 borker 标签中加入 配置使用JAAS策略,并定义配置模块为activemq-domain. 

  1. <plugins>    
  2.     <!--use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->    
  3.     <jaasAuthenticationPlugin configuration="activemq-domain" />    
  4.     <!--  lets configure a destination based authorization mechanism -->    
  5.     <authorizationPlugin>    
  6.         <map>    
  7.             <authorizationMap>    
  8.                 <authorizationEntries>    
  9.     
  10.                 <!-->表示通配符,例如USERS.>表示以USERS.开头的主题,>表示所有主题,read表示读的权限,write表示写的权限,admin表示角色组-->    
  11.                     <authorizationEntry queue=">" read="admins" write="admins" admin="admins" />    
  12.                     <authorizationEntry topic=">" read="admins" write="admins" admin="admins" />    
  13.                     <authorizationEntry queue="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins" />    
  14.                     <authorizationEntry topic="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins" />    
  15.                 </authorizationEntries>    
  16.             </authorizationMap>    
  17.         </map>    
  18.     </authorizationPlugin>    
  19. </plugins>    
在配置中 ">" 代表所有的文章或队列. 而 "ActiveMQ.Advisory.>" 则代表.名为 "ActiveMQ.Advisory."下的所有的文章或队列
2.2.2在conf目录下增加login.config,groups.properties,users.properties

        login.config 内容如下:
  1. activemq-domain {  
  2.                 org.apache.activemq.jaas.PropertiesLoginModule required  
  3.                 debug=true  
  4.                 org.apache.activemq.jaas.properties.user="users.properties"  
  5.                 org.apache.activemq.jaas.properties.group="groups.properties";  
  6.             };  
       groups.properties   定义了组下面的用户
  1. #group=userName  
  2. admins=system  
      users.properties  定义了用户名对应的密码
  1. #userName=password  
  2. system=manager  

 

分享到:
评论

相关推荐

    【JeeSpringCloud v3.2.4】后台权限管理系统+互联网云快速开发框架+微服务分布式代码生成

    ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。 工作流:功能包括在线办公、我的任务、审批测试、流程管理、模型管理。 CMS:功能包括内容管理、内容管理、统计分析、栏目设置、首页...

    Spring in Action(第2版)中文版

    7.4.5强制web安全性 7.4.6确保一个安全的通道 7.5视图层安全 7.5.1有条件地渲染内容 7.5.2显示用户身份验证信息 7.6保护方法调用 7.6.1创建一个安全切面 7.6.2使用元数据保护方法 7.7小结 第8章spring和...

    Spring in Action(第二版 中文高清版).part2

    7.4.5 强制Web安全性 7.4.6 确保一个安全的通道 7.5 视图层安全 7.5.1 有条件地渲染内容 7.5.2 显示用户身份验证信息 7.6 保护方法调用 7.6.1 创建一个安全切面 7.6.2 使用元数据保护方法 7.7 小结 第8...

    Spring in Action(第二版 中文高清版).part1

    7.4.5 强制Web安全性 7.4.6 确保一个安全的通道 7.5 视图层安全 7.5.1 有条件地渲染内容 7.5.2 显示用户身份验证信息 7.6 保护方法调用 7.6.1 创建一个安全切面 7.6.2 使用元数据保护方法 7.7 小结 第8...

    【JeeSpringCloud v3.2.4】后台权限管理系统+互联网云快速开发框架+微服务分布式代码生成.zip

    ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。 工作流:功能包括在线办公、我的任务、审批测试、流程管理、模型管理。 CMS:功能包括内容管理、内容管理、统计分析、栏目设置、首页...

    springCloud

    AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 Github:https://github.com/rabbitmq 官网地址:http://www.rabbitmq.com 安装RabbitMQ 安装RabbitMQ 可以参考之前的文章 ...

    大型分布式网站架构与实践

     1.3.3 动态配置规则 39  1.3.4 ZooKeeper介绍与环境搭建 40  1.3.5 ZooKeeper API使用简介 43  1.3.6 zkClient的使用 47  1.3.7 路由和负载均衡的实现 50  1.4 HTTP服务网关 54  第2章 分布式系统基础设施 ...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【多线程】什么是线程安全与非线程安全 72 【多线程】多线程的实现方式Thread、Runnable、Callable 72 【多线程】实现Runnable接口与继承Thread类比较 73 【多线程】线程状态转换 74 【多线程】线程的调度 75 线程...

    iBase4J分布式系统-其他

    iBase4J特点:使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。系统包括4个子系统:系统管理Service、系统管理Web、业务Service、业务Web。系统管理:包括用户管理、权限管理、数据字典、系统参数管理...

    电商项目solr实战

    涉及到目前互联网项目中最常用的高并发解决方案技术, 如dubbo,redis,solr,freemarker,activeMQ,springBoot框架,微信支付,nginx负载均衡,电商活动秒杀,springSecurity安全框架,FastDFS分布式文件服务器,还会涉及到...

    JeeSpringCloud后台权限管理系统-其他

    ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。工作流:功能包括在线办公、我的任务、审批测试、流程管理、模型管理。CMS:功能包括内容管理、内容管理、统计分析、栏目设置、首页。...

    fourinone-3.04.25

    Fourinone整体代码短小精悍,跟Hadoop, Zookeeper, Memcache, ActiveMq等开源产品代码上没有任何相似性,不需要任何依赖,引用一个jar包就可以嵌入式使用,良好支持window环境,可以在一台机器上模拟分布式环境,更...

    Fourinone分布式并行计算四合一框架

     Fourinone整体代码短小精悍,跟Hadoop, Zookeeper, Memcache, ActiveMq等开源产品代码上没有任何相似性,不需要任何依赖,引用一个jar包就可以嵌入式使用,良好支持window环境,可以在一台机器上模拟分布式环境,...

    java开源包1

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包11

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包2

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包3

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包6

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包5

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

Global site tag (gtag.js) - Google Analytics