Activemq安全性配置

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

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

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

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

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

1.控制台安全配置

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

ConnectionFactory cf = new ActiveMQConnectionFactory("logcd", "028cd", "tcp://195.2.199.169:61616")   
Xml代码  Activemq安全性配置
  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  

相关推荐