将多个用户分配到同一组

时间:2019-05-17 11:34:29

标签: authentication activemq

我一直试图创建一个包含所有可用用户的组,因为我们需要允许所有用户都可以访问“ ActiveMQ.Advisory。>”。但是,使用我的配置,此方法不起作用,我想知道是否还需要配置其他内容,以使“ all”组按预期工作并允许所有连接创建队列“ ActiveMQ.Advisory。>”?

我正在使用的ActiveMQ版本是5.15.9。

使用下面的配置,我在应用程序中收到此错误消息:

12:31:28,940 ERROR DefaultJmsMessageListenerContainer:931 - Could not refresh JMS Connection for destination 'test.queue' - retrying using FixedBackOff{interval=5000, currentAttempts=296, maxAttempts=unlimited}. Cause: User null is not authorized to create: topic://ActiveMQ.Advisory.Connection

但是,如果我使用“管理员,来宾”而不是“全部”,则应用程序将成功连接。

activemq.xml

...
    <plugins>
      <jaasAuthenticationPlugin configuration="activemq" />
      <authorizationPlugin>
        <map>
          <authorizationMap>
            <authorizationEntries>
              <authorizationEntry queue=">"                   read="all" write="all" admin="admins" />
              <authorizationEntry topic=">"                   read="all" write="all" admin="admins" />
              <authorizationEntry topic="ActiveMQ.Advisory.>" read="all" write="all" admin="all" />
            </authorizationEntries>
          </authorizationMap>
        </map>
      </authorizationPlugin>
    </plugins>
...

group.properties

admins=admin
guests=guest
all=admin,guest

login.config

activemq {
    org.apache.activemq.jaas.GuestLoginModule sufficient
       debug=true
       credentialsInvalidate=true
       org.apache.activemq.jaas.guest.user="guest"
       org.apache.activemq.jaas.guest.group="guests";

    org.apache.activemq.jaas.PropertiesLoginModule requisite
        org.apache.activemq.jaas.properties.user="users.properties"
        org.apache.activemq.jaas.properties.group="groups.properties";
};

谢谢。

0 个答案:

没有答案