轉載:http://shutiao2008.iteye.com/blog/562381
對於JMS服務的安全控制,ActiveMQ提供兩種方式:簡單授權方式和JAAS授權方式。我們在這裏採用簡單的授權方式。如果要實現複雜的權限和角色機制,可以使用JAAS方式,這裏不予講述。
JMS安全的配置,在文件${activemq.base}/conf/activemq-security.xml中有範例。打開該文件,可以看到,有兩個plugins:simpleAuthenticationPlugin和authorizationPlugin,後者是JAAS授權方式需要用到的,在這裏,我們只需要用到前者。
編輯${activemq.base}/conf/activemq.xml文件,加入如下一段代碼:
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/>
</users>
</simpleAuthenticationPlugin>
</plugins>
${activemq.username}和${activemq.password}是在credentials.properties文件中設置的用戶名和密碼。該文件位於${activemq.base}/conf/目錄下,打開該文件,設置你的用戶名和密碼即可。
配置完畢。這樣,你的ActiveMQ就需要用戶名和密碼才能發送和接收JMS消息了。連接ActiveMQ的Java代碼相應的改爲如下:
ConnectionFactory cf = new ActiveMQConnectionFactory("myusername", "mypassword", "tcp://192.168.1.109:61616")
在Spring中,則如下:
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://192.168.1.109:61616" />
<property name="userName" value="myusername" />
<property name="password" value="password" />
</bean>