ActiveMq认证与授权配置

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里以跳转到教程。

一:认证预授权

activemq作为主流的消息中间件,其资源及论坛还是比较多的,但是针对认证与授权都是前篇一律。在此通过阅读官方文档及实例测试详解验证与授权的配置

 

1、系统环境CentOs6.5,首先从官网下载activemq的安装包,解压运行即可,默认使用端口为8161(管理端口)、61616(用于创建消息与消费消息)。

2、配置过程如下

先编写conf/activemq.xml文件

	
            
        

        

        
                
                        
                                
                        
                


                
                

                
                        
                                
                                        
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                        

                                        
                                                
                                        
                                
                        
                
        
            
        

        

        
                
                        
                                
                        
                


                
                

                
                        
                                
                                        
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                        

                                        
                                                
                                        
                                
                        
                
        

添加在节点下添加 节点,在节点下添加如下节点

 

 

 

节点通过子节点定义用户、组信息

 

其中groups信息用于验证授权,用户信息可以从conf/credentials.properties中通过${}进行获得。

 

 

节点通过Java Authentication Authorization Service进行用户验证及授权操作

 

其中configuration=“activemq-domain”中的activemq-domain要与conf/login.config中节点名称对应,内容如下

 

 

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

通过上述配置可以知道,此时用户信息及组信息是从users.properties和groups.properties文件中进行加载的,其中reload=true表示,更新用用户信息可以动态加载。
 

 

节点用于通过jaas进行用户的授权,其中mq的权限有三种

read :destination中消息的浏览及消费

write :destination中消息的创建

admin :destiantion中最高权限,任意消息的管理

用户权限配置


 消息有两种queue和topic,其中read、write、admin用户指定用户组,其中conf/groups.properties中文件内容如下

 

 

admins=admin
users=admin,develop,sslclient
tempDestinationAdmins=system,user,sslclient,client,broker1,broker2
guests=guest

等号前时候组名,等号后是用户列表,多个用户之间用","分割。

 

 

二:持久到Mysql中

将mysql的mysql-connector-java-5.1.35.jar拷贝到activemq的lib目录下,

修改conf/activemq.xml文件,在节点外添加如下配置

 


  
  
  
  
  

这里注意class属性的设置,早期版本的mq使用的org.apache.commons.dbcp.BasicDataSource,新版本的mq使用的org.apache.commons.dbcp2.BasicDataSource

 

 

更新节点中的信息添加如下信息

 

 

 

 

 

 

 

 

 

 

总结:

 

1、 优先级高于,如果配置了 那么用户的验证授权信息将从user.properties和group.properties文件中进行加载;如果只配置那么用户的验证与授权信息直接从子节点authenticationUser中进行定义,此时用户的信息也可以存放在conf/credentials.properties文件中,通过${}进行加载即可。

2、如果配置那么conf/login.config中节点名称一定要为activemq-domain,否则在发送或是接收消息时会抛出

Caused by: javax.security.auth.login.LoginException: No LoginModules configured for activemq-domain

异常。

 

 

 

你可能感兴趣的:(技术经验)