无法定义正确的授权规则。。。topic://ActiveMQ.Advisory.Producer.Queue.Q1

无法定义正确的授权规则。。。topic://ActiveMQ.Advisory.Producer.Queue.Q1,activemq,Activemq,我是ActiveMQ的新手。我正在尝试创建两个队列Q1和Q2,client1和客户端将在相应的Qs上写入。我以管理员的身份从队列中读取,它在代理机器上运行良好 问题在于生产方,他们报告了以下错误 JMSSecurityException:用户客户端1无权创建:topic://ActiveMQ.Advisory.Producer.Queue.Q1 以下是我在activemq文件中定义简单授权的方法。请查找完整的activemq.xml附件。 谁能帮助解决这个问题。。。。非常欣赏 <plugi

我是ActiveMQ的新手。我正在尝试创建两个队列Q1和Q2,client1和客户端将在相应的Qs上写入。我以管理员的身份从队列中读取,它在代理机器上运行良好

问题在于生产方,他们报告了以下错误

JMSSecurityException:用户客户端1无权创建:topic://ActiveMQ.Advisory.Producer.Queue.Q1

以下是我在activemq文件中定义简单授权的方法。请查找完整的activemq.xml附件。 谁能帮助解决这个问题。。。。非常欣赏

<plugins>
        <!--  use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->
        <!-- <jaasAuthenticationPlugin configuration="activemq" /> -->

        <simpleAuthenticationPlugin>
            <users>
                <authenticationUser username="admin" password="${admin.password}"
                    groups="admins"/>
                <authenticationUser username="testuser1" password="${testuser1.password}"
                    groups="testusers1"/>
        <authenticationUser username="blbuser" password="${blbuser.password}" groups="client1"/>    
        <authenticationUser username="bpmuser" password="${bpmuser.password}" groups="client2"/>
        </users>
        </simpleAuthenticationPlugin>

        <!--  lets configure a destination based authorization mechanism -->
        <authorizationPlugin>
            <map>
                <authorizationMap>
                    <authorizationEntries>
                        <authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
                        <authorizationEntry queue="Q1" read="admins" write="client1" admin="admins" />
                        <authorizationEntry queue="Q2" read="admins" write="client2" admin="admins" />
                <authorizationEntry topic="ActiveMQ.Advisory.>" read="admins,client1,client2" write="admins,client1,client2" admin="admins"/>   
                </authorizationEntries>            
                </authorizationMap>
            </map>
        </authorizationPlugin>
        </plugins>


您的配置仅将管理员权限授予管理员组中的人员,但这会阻止客户端连接创建咨询主题,因为创建目的地被视为一项管理功能。如果您将客户组设置为咨询位的管理员角色,那么他们应该能够创建它们,否则您需要在客户开始与代理交互之前自己手动创建所有需要的咨询主题

因此,您建议进行以下更改。