一、定義用戶組
1.1?simpleAuthenticationPlugin通過在activemq.xml中配置用戶組
<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>? </plugins>
1.2 通過JAAS來配置用戶組
<plugins>?<jaasAuthenticationPlugin?configuration="activemq-domain"?/> </plugins>
增加login.config文件
activemq?{org.apache.activemq.jaas.PropertiesLoginModule?requiredorg.apache.activemq.jaas.properties.user="users.properties"org.apache.activemq.jaas.properties.group="groups.properties"reload=true; };
?注:reload設置為true時,用戶名和密碼在每次請求的時候都會重新加載,即修改之后立即生效。
增加users.properties
system=manager admin=password user=password guest=password sslclient=CN=localhost,?OU=activemq.org,?O=activemq.org,?L=LA,?ST=CA,?C=US
增加groups.properties
admins=system,sslclient,client,broker1,broker2 tempDestinationAdmins=system,user,sslclient,client,broker1,broker2 users=system,user,sslclient,client,broker1,broker2 guests=guest
二、queue和topic配置不同角色的讀寫權限
<plugins>?<jaasAuthenticationPlugin?configuration="activemq"?/>?<authorizationPlugin>?<map>?<authorizationMap>?<authorizationEntries><authorizationEntry?queue="yyc-test"?read="guests"?write="users"?admin="admins"?/><authorizationEntry?topic="ActiveMQ.Advisory.>"?read="all"?write="all"?admin="all"/></authorizationEntries><tempDestinationAuthorizationEntry><tempDestinationAuthorizationEntry?read="tmpDestinationAdmins"?write="tmpDestinationAdmins"?admin="tmpDestinationAdmins"/></tempDestinationAuthorizationEntry></authorizationMap>?</map>?</authorizationPlugin> </plugins>
注:
configuration的值要與login.config中的設置名稱相匹配,如:activemq;
ActiveMQ.Advisory.>以表達式的方式配置的topic一定要設置。因為連接的時候就是這種類型的主題,如果不配置此項話,連接會報錯(沒有權限)。
二、broker與broker之間的連接
<networkConnectors><networkConnector?name="brokerAbridge"userName="user"password="password"uri="static://(tcp://brokerA:61616)"/> </networkConnectors>
參考地址:http://activemq.apache.org/security.html
轉載于:https://blog.51cto.com/881206524/1928683