I am trying to configure simple JAAS authentication for ActiveMQ. I have created a xml called activemq-jaas.xml
as:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> <broker useJmx="false" persistent="false" xmlns="http://activemq.apache.org/schema/core" populateJMSXUserID="true"> <plugins> <jaasAuthenticationPlugin configuration="activemq-domain" /> </plugins> </broker> </beans>
The other configuration files are:
login.config
activemq-domain { org.apache.activemq.jaas.PropertiesLoginModule required debug=true org.apache.activemq.jaas.properties.user="users.properties" org.apache.activemq.jaas.properties.group="groups.properties"; };
users.properties
admin=admin publisher=password consumer=password guest=password
groups.properties
admins=admin publishers=admin,publisher consumers=admin,publisher,consumer guests=guest
I started the ActiveMQ with command ./activemq start
in linux terminal. But I cannot login with guest/guest
credentials but I can login with admin/admin
(which I could before I configured JAAS xml also). What I am missing?
Advertisement
Answer
Given the information provided it looks as though you aren’t actually telling ActiveMQ to load your configuration. The default file read is ‘activemq.xml’ and you named yours ‘activemq-jaas.xml’ which won’t be read in by default. You need to tell the script what xbean file you want loaded in this case so use:
bin/activemq start xbean:conf/activemq-jaas.xml
Changing it as needed to point to the location where yours is at.