A3·ActiveMQ密码配置(JAAS)及问题

本文讲述ActiveMQ使用JAAS方式配置用户名密码的步骤及出现的问题

  • 步骤

打开ActiveMQ安装目录的conf文件夹,本文涉及到的文件如下图所示

A3·ActiveMQ密码配置(JAAS)及问题_第1张图片

一、login.config文件

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

二、users.properties文件(等号左边是用户名,右边是密码)

amqsys=login
amquser=key

三、groups.properties文件(等号左边是用户组名,右边是用户名,多个用户名以逗号隔开,与users文件中的用户名对应)

admins=amqsys
users=amquser

四、activemq.xml文件,在标签上方加入以下代码,代码第二行的configuration对应着login.config文件中的名称,authorizationEntry中,queue或topic属性是通道名称,read指定可以读取的用户组,write指定可以写入的用户组,admin指定可以创建通道的用户组。

  
  
    
      
          
              
                  
                    
                    

                       
                      
                      
                    
                  
              
          
      
  

 其中topic为ActiveMQ.Advisory.>的不能删除,即以下代码

  

通过以上的配置,基本的密码设置已经完成了,以spring为例,在创建连接工厂时将用户名密码置入

五、 登录控制台127.0.0.1:8161的密码也可以修改,文件是jetty-realm.properties

sysamq: login, admin
  • 问题

配置完成之后,能完美支持后端操作,但控制台操作会发生异常(已解决),ajax方式因为找不到置入用户名密码的地方也不能使用(未解决)。

一、解决控制台不能发送消息到通道的方法是修改credentials.properties文件,将其中的activemq.username和activemq.password改为users.properties中存在的用户名和密码

activemq.username=amqsys
activemq.password=login
guest.password=login

 二、ajax初始化的init方法中未发现配置用户名密码的地方,未解决,欢迎大神指导

A3·ActiveMQ密码配置(JAAS)及问题_第2张图片

 

你可能感兴趣的:(ActiveMQ)