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

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  

 

分享到:
评论

相关推荐

    ActiveMQ的activemq.xml详细配置讲解

    对于与数据库的集成,如`activemq数据库,验证持久化标准配置.txt`所示,ActiveMQ支持使用JDBC进行持久化,确保在故障恢复时数据的完整性。 总之,`activemq.xml`配置文件是管理ActiveMQ核心行为的核心,通过细致地...

    ActiveMQ 配置文件详解

    安全性配置 在`&lt;plugins&gt;`标签下,你可以添加安全插件来控制用户访问和权限。例如,使用JaasAuthenticationPlugin配置用户名和密码: ```xml &lt;jaasAuthenticationPlugin configuration="activemq-domain"/&gt; ```...

    activemq5配置文档

    - **配置文件**:ActiveMQ的配置主要通过`activemq.xml`文件进行,这个XML文件定义了服务器的启动参数、网络连接、消息存储和安全设置等。 - **Broker配置**:Broker是ActiveMQ的核心,配置中包括了broker的名称、...

    tomcat下activemq之http配置

    总的来说,配置Tomcat下的ActiveMQ HTTP连接涉及到多个方面,包括XML配置文件的修改、Web控制台的部署、安全性的设置以及Stomp协议的使用。理解这些知识点,能帮助你在实际开发中有效利用ActiveMQ实现可靠的消息传递...

    ActiveMQ教程+配置[参照].pdf

    配置通常涉及设置 broker 的端口、存储路径、安全设置和网络连接等。一旦安装完成,就可以通过各种语言和协议的客户端开始使用ActiveMQ进行消息传递。 总的来说,ActiveMQ 是一个强大、灵活且全面的消息中间件,...

    配置ActiveMQ 静态集群

    在IT领域,消息队列(Message Queue)是分布式系统中常用的一种组件,它负责处理应用程序之间的...注意,实际操作中可能还需要考虑网络环境、安全性、性能调优等方面的问题,但以上内容已涵盖了基本的集群配置流程。

    activemq 配置说明与activemq入门讲解

    5. **安全性**:在`&lt;plugins&gt;`元素下可以配置安全策略,如用户、角色和权限。ActiveMQ支持JAAS(Java Authentication and Authorization Service)进行身份验证和授权。 三、ActiveMQ的使用入门 1. **安装与启动**...

    ActiveMQ的配置问题

    - **安全性**:可以通过设置用户、角色和权限来保护ActiveMQ,这通常在`conf/users.properties`和`conf/credentials.properties`中完成。 - **网络配置**:如果你有多个ActiveMQ节点,可能需要配置网络连接器以实现...

    ActiveMQ配置Mysql8为持久化方式所需Jar包.rar

    5. **安全性与性能优化**: - 为了提高性能,你可能需要对数据库进行一些优化,例如调整索引、设置适当的缓存大小等。 - 此外,确保MySQL服务器和ActiveMQ运行在同一网络内,以减少网络延迟。 - 使用强密码和限制...

    文档对应activemq和配置文件

    - **activemq.xml**:这是ActiveMQ的主要配置文件,包含了服务器端口、持久化策略、网络连接、安全性等设置。 - **users.xml** 和 **groups.xml**:用于定义ActiveMQ用户的访问控制,包括用户名、密码和权限。 - **...

    linux-apache-activemq-5.9.0和 linux-jdk1.6

    6. **安全性**:为了保护消息传递的安全,可以配置用户认证和授权,以及SSL/TLS加密。 接下来,我们来看JDK 1.6。这是Java的一个早期版本,提供了运行Java应用程序的基础环境。JDK 1.6包含Java编译器(javac)、...

    activemq ssl双向认证连接

    SSL(Secure Socket Layer)是用于确保网络通信安全的一种标准协议,而双向认证(Mutual SSL/TLS Authentication)则进一步增强了这种安全性,它要求服务器验证客户端的身份,同时也要求客户端验证服务器的身份。...

    ActiveMQ使用SSL加密文件Demo

    在实际的生产环境中,为了确保消息传输的安全性,我们通常会使用 SSL/TLS 协议来加密通信。本 Demo 将向你展示如何配置 ActiveMQ 以使用 SSL 加密文件,帮助初学者快速理解并实践这一关键安全措施。 首先,了解 SSL...

    ActiveMQ In Action精简版

    安全性配置则涉及到用户认证、权限控制等内容,确保只有授权用户才能访问特定的消息队列或主题。 ### 使用ActiveMQ 使用ActiveMQ创建Java应用时,可以利用其提供的JMS API,通过简单的代码即可实现消息的发送和...

    WebSocket协议接收ActiveMQ

    在实际应用中,开发者需要注意WebSocket的安全性,比如使用WSS(WebSocket over SSL/TLS)来确保数据传输的安全,以及对连接的管理和错误处理,确保系统的稳定性和可靠性。同时,为了优化性能,可能还需要考虑连接池...

    ActiveMq安装.docx

    在实际应用中,ActiveMQ的配置可能需要根据具体的业务需求进行调整,例如设置消息持久化、网络连接策略、安全性、日志记录等。消息中间件的核心作用在于提供异步处理、解耦系统组件、实现负载均衡和容错机制。...

    apache-activemq-5.15.9.rar

    Apache ActiveMQ是Apache软件...它支持多种协议,具备高可用性和安全性,并且易于安装和配置。通过理解和熟练掌握ActiveMQ,开发者可以构建稳定、高效的分布式系统,有效地处理物联网和其他应用场景中的大量实时数据。

    ActiveMQ消息服务器 v5.17.6.zip

    5. **安全控制**:ActiveMQ支持用户认证和授权,可配置SSL/TLS加密,保障通信安全。 6. **管理工具**:提供Web Console和JMX接口,方便管理员监控和管理消息队列。 二、ActiveMQ应用场景 1. **解耦应用**:在...

    Apache ActiveMQ Artemis.pdf

    13. 管理和安全:涉及如何使用ActiveMQ Artemis的管理控制台进行系统管理,包括安全性配置。 14. 群集:讨论了如何设置和管理ActiveMQ Artemis群集以确保高可用性和故障转移。 15. 高可用性和故障转移:介绍了...

    activeMQ收发工具.rar

    7. **持久化与非持久化消息**:了解消息的持久性配置,这决定了消息在服务器重启后是否仍然可用。 8. **事务处理**:学习如何在ActiveMQ中使用JMS事务确保消息的一致性和可靠性。 9. **性能监控**:ActiveMQ提供了...

Global site tag (gtag.js) - Google Analytics