You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by handsomeboyit <ng...@yahoo.com> on 2006/09/22 10:39:38 UTC

Embedded Broker and Jaas

Hi  evryone,
Pls show me how I can  create an embeded broker with authorization and
authentication?

** I have an activemq.xml like this : 

<beans xmlns="http://activemq.org/config/1.0">
	<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
	<broker useJmx="true">	
  		<memoryManager>  
        	<usageManager id="memory-manager" limit="1048576"/>
    	</memoryManager> 	
    	<plugins>
	      <!--  use JAAS to authenticate using the login.config file on the
classpath to configure JAAS -->
	      <jaasAuthenticationPlugin configuration="activemq-domain" />
  	      <!--  lets configure a destination based authorization mechanism
-->
	      <authorizationPlugin>
	        <map>
	          <authorizationMap>
	            <authorizationEntries>
	              <authorizationEntry queue=">" read="mygroup" write="mygroup"
admin="mygroup" />
	              <authorizationEntry queue="USERS.>" read="mygroup"
write="mygroup" admin="mygroup" />
	              <authorizationEntry queue="GUEST.>" read="mygroup"
write="mygroup" admin="mygroup" />
	            </authorizationEntries>
	          </authorizationMap>
	        </map>
	      </authorizationPlugin>
	    </plugins>

	    <transportConnectors>
	       <transportConnector name="default" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
	       <transportConnector name="stomp"   uri="stomp://localhost:62626"/>
	    </transportConnectors>
	    
	    <networkConnectors>
	      <!-- by default just auto discover the other brokers -->
	      <networkConnector name="default" uri="multicast://default"/>
	      <!--
	      <networkConnector name="host1 and host2"
uri="static://(tcp://host1:61616,tcp://host2:61616)" failover="true"/>
	      -->
	    </networkConnectors>    
  </broker>  
</beans>

** I have login.config file like this:

activemq-domain {
org.apache.activemq.jaas.PropertiesLoginModule required 
debug=true  
org.apache.activemq.jaas.properties.group="groups.properties"
org.apache.activemq.jaas.properties.user="users.properties";
};

** the content groups.properties and users.properties file like this:

myuser=mygroup

myuser=handsomeboy

** All these file are locate in the package "bin/mybroker".
In my class, i have wrote :
    System.setProperty("java.security.auth.login.config",
ClassLoader.getSystemResource ("mybroker/login.config").toString());
			
			Resource resc = new UrlResource( ClassLoader.getSystemResource(
"mybroker/activemq.xml"));
			ResourceXmlApplicationContext context = new
ResourceXmlApplicationContext(resc);
			XBeanBrokerService service = (XBeanBrokerService)
context.getBean(context.getBeanNamesForType(BrokerService.class)[0]);
			service.start();
			service.afterPropertiesSet();

** when the broker start, it seem to be ok, there's no error.but when i
wrote a Jms client to connection to the destination like this code:

ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory("mygroup", "handsomeboy","tcp://localhost:61616");
			Connection connection = connectionFactory.createConnection();
			connection.setClientID("HomeServer");
			connection.start();

=> error has occured : Invalid username and password.

How can i fix this error?

I use activemq-core 4.1 SNAPSHOT.jar +
activeio-core.3.o.SNAPSHOT.jar+activemq-jaas .4.1.SNAPSHOT.jar,
spring.jar(ver1.2.8)+ xbean-spring-2.2.jar

Thank you.. 
-- 
View this message in context: http://www.nabble.com/Embedded-Broker-and-Jaas-tf2316610.html#a6443287
Sent from the ActiveMQ - User mailing list archive at Nabble.com.