JMS的安全性

对于JMS服务的安全控制,ActiveMQ提供两种方式:简单授权方式和JAAS授权方式。我们在这里采用简单的授权方式。如果要实现复杂的权限和角色机制,可以使用JAAS方式,这里不予讲述。 

JMS安全的配置,在文件${activemq.base}/conf/activemq-security.xml中有范例。打开该文件,可以看到,有两个plugins:simpleAuthenticationPlugin和authorizationPlugin,后者是JAAS授权方式需要用到的,在这里,我们只需要用到前者。

编辑${activemq.base}/conf/activemq.xml文件,加入如下一段代码:

<plugins>

<simpleAuthenticationPlugin>

<users>

<authenticationUserusername="${activemq.username}"password="${activemq.password}"groups="users,admins"/>

</users>

</simpleAuthenticationPlugin>

</plugins>

${activemq.username}和${activemq.password}是在credentials.properties文件中设置的用户名和密码。该文件位于${activemq.base}/conf/目录下,打开该文件,设置你的用户名和密码即可。

配置完毕。这样,你的ActiveMQ就需要用户名和密码才能发送和接收JMS消息了。连接ActiveMQ的Java代码相应的改为如下:

ConnectionFactorycf=newActiveMQConnectionFactory("myusername","mypassword","tcp://192.168.1.109:61616")

在Spring中,则如下:

<beanid="connectionFactory"class="org.apache.activemq.ActiveMQConnectionFactory">

<propertyname="brokerURL"value="tcp://192.168.1.109:61616"/>

<propertyname="userName"value="myusername"/>

<propertyname="password"value="password"/>

</bean>

相关推荐