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.