ActiveMQ:添加用户和控制台访问

Gar*_*ead 3 activemq-classic

参考http://activemq.apache.org/security.html上的 ActiveMQ 安全文档,我尝试将新用户添加到我的 ActiveMQ 配置中。该用户应该只能看到可用队列的子集。

我做了以下事情:

1)在users.properties中添加条目:

myuser=mypassword
Run Code Online (Sandbox Code Playgroud)

2)在groups.properties中添加条目:

publishers=admin,myuser
consumers=admin,myuser
Run Code Online (Sandbox Code Playgroud)

3) 在broker元素的plugins元素中向activemq.xml添加了一个条目:

<authorizationPlugin>
  <map>
    <authorizationMap>
      <authorizationEntries>
        <authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
        <authorizationEntry queue="MYQUEUEPREFIX.>" read="consumers" write="publishers" admin="admins" />
      </authorizationEntries>
    </authorizationMap>
  </map>
</authorizationPlugin>
Run Code Online (Sandbox Code Playgroud)

当我重新启动 ActiveMQ 并访问 myServerURL:8161/admin 的管理控制台时,我在提供的“需要身份验证”框中输入新创建的用户名和密码 (myuser/mypassword),但它不允许我访问控制台。我进入的唯一方法是使用已经定义的“admin”用户。

Gar*_*ead 5

通过代理访问 ActiveMQ 队列和访问 ActiveMQ Web 控制台之间存在差异。必须修改conf/jetty-realm.properties 文件才能授予对后者的访问权限。