ActiveMQ 权限(一)

ActiveMQ 认证(一) 中,若用户名或密码不正确,不能连接到ActiveMQ。我们可以通过配置文件,确用户是否有消息的读取、写入和管理的权限。

在plugin配置节点下,配置以下信息:

            <authorizationPlugin>
                <map>
                    <authorizationMap>
                        <authorizationEntries>
                            <authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
                          <authorizationEntry queue="USERS.>" read="publishers" write="publishers" admin="admins" />
                          <authorizationEntry queue="FirstQueue.>" read="guests" write="consumer" admin="admins" />                      
                          <authorizationEntry queue="TEST.Q" read="guests" write="guests" />
                        </authorizationEntries>
                    </authorizationMap>
                </map>
            </authorizationPlugin>

每个authorizationEntry配置都有read、write和admin属性,分别对应读取、写入和管理。read、write和admin的值为在认证中用户对应的groups属性中的值。

authorizationEntry和消息队列的对应关系是通过通配符方式。

例如:<authorizationEntry queue="FirstQueue.>" read="guests" write="consumer" admin="admins" /> 对应以FirstQueue开头的消息队列。

 ===========================

完整的认证和权限的配置如下:

    <plugins>
            <simpleAuthenticationPlugin>
                <users>
                
                    <authenticationUser username="admin" password="password"
                    groups="admins,publishers,consumers"/>
                    
                    <authenticationUser username="publisher" password="password"
                    groups="publishers,consumers"/>
                    
                    <authenticationUser username="consumer" password="password"
                    groups="consumers"/>
                    
                    <authenticationUser username="guest" password="password"
                    groups="guests"/>
                </users>
            </simpleAuthenticationPlugin>
            
            <authorizationPlugin>
                <map>
                    <authorizationMap>
                        <authorizationEntries>
                            <authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
                          <authorizationEntry queue="USERS.>" read="publishers" write="publishers" admin="admins" />
                          <authorizationEntry queue="FirstQueue.>" read="guests" write="consumer" admin="admins" />                      
                          <authorizationEntry queue="TEST.Q" read="guests" write="guests" />
                        </authorizationEntries>
                    </authorizationMap>
                </map>
            </authorizationPlugin>            
            
            
        </plugins>    
原文地址:https://www.cnblogs.com/kszit/p/3596366.html