Hello I'm trying to get the ActiveMQ authorizationPlugin to work. I'm using the basic jaasAuthenticationPlugin configuration="activemq-domain" properties logon. My activemq.xml, login.conf, users.properties and groups.properties are all in my <AMQ_HOME>/conf directory. My activmq.xml is only slightly different for the example on the site. I have removed jetty, camel and the commandAgent. I'm running AMQ 5.0.0 on JDK 1.5.0_14-b03. I delete <AMQ_HOME>/data/localhost between each run to make sure I come up clean. Everything works... up to a point.
If I run without any defined destinations (queues or topics) everything works. Users with authority can access the dynamically created queues. Bad users and bad passwords fail. The problem is I need to run with defined destinations. When I add the following to my activemq.xml: <destinations> <queue physicalName="wileJmsQueryQueue"/> </destinations> I get the following in the log: 14:11:50,731 | DEBUG | ActiveMQ Journal Checkpoint Worker | AMQPersistenceAdapter | tore.amq.AMQPersistenceAdapter 322 | Checkpoint started. 14:11:50,733 | DEBUG | ActiveMQ Journal Checkpoint Worker | AMQPersistenceAdapter | tore.amq.AMQPersistenceAdapter 354 | Checkpoint done. 14:11:50,921 | DEBUG | main | AbstractRegion | q.broker.region.AbstractRegion 112 | Adding destination: queue://wileJmsQueryQueue 14:11:50,923 | INFO | main | KahaStore | e.activemq.kaha.impl.KahaStore 448 | Kaha Store using data directory /data/apache-activemq-5.0.0/data/localhost/kr-store/data 14:11:50,986 | DEBUG | Checkpoint: queue://wileJmsQueryQueue | AMQMessageStore | vemq.store.amq.AMQMessageStore 328 | Doing batch update... adding: 0 removing: 0 14:11:50,987 | DEBUG | Checkpoint: queue://wileJmsQueryQueue | AMQMessageStore | vemq.store.amq.AMQMessageStore 366 | Batch update done. 14:11:50,993 | DEBUG | main | AMQMessageStore | vemq.store.amq.AMQMessageStore 266 | flush starting ... 14:11:51,014 | DEBUG | main | AbstractRegion | q.broker.region.AbstractRegion 112 | Adding destination: topic://ActiveMQ.Advisory.Queue 14:11:51,025 | INFO | main | BrokerService | .activemq.broker.BrokerService 413 | Using Persistence Adapter: AMQPersistenceAdapter(/data/apache-activemq-5.0.0/data/localhost) 14:11:51,029 | DEBUG | main | AMQMessageStore | vemq.store.amq.AMQMessageStore 266 | flush starting ... 14:11:51,030 | ERROR | main | BrokerService | .activemq.broker.BrokerService 439 | Failed to start ActiveMQ JMS Message Broker. Reason: java.lang.SecurityException: User is not authenticated. java.lang.SecurityException: User is not authenticated. at org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:52) at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151) at org.apache.activemq.broker.region.AbstractRegion.start(AbstractRegion.java:93) at org.apache.activemq.broker.region.RegionBroker.start(RegionBroker.java:182) at org.apache.activemq.broker.jmx.ManagedRegionBroker.start(ManagedRegionBroker.java:103) at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:112) at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:153) at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:153) at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:153) at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:153) at org.apache.activemq.broker.MutableBrokerFilter.start(MutableBrokerFilter.java:163) at org.apache.activemq.broker.BrokerService.start(BrokerService.java:422) at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:46) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64) at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52) at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:91) at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:51) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:112) at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:51) at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:104) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:51) at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.activemq.console.Main.runTaskClass(Main.java:222) at org.apache.activemq.console.Main.main(Main.java:106) 14:11:51,033 | INFO | main | faultListableBeanFactory | t.DefaultSingletonBeanRegistry 285 | Destroying singletons in [EMAIL PROTECTED]: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer,org.apache.activemq.xbean.XBeanBrokerService]; root of factory hierarchy 14:11:51,048 | INFO | ActiveMQ ShutdownHook | BrokerService | .activemq.broker.BrokerService 448 | ActiveMQ Message Broker (localhost, null) is shutting down Note that the broker shuts down. I've tried looking through some AMQ code and the xsd to see if I'm missing something in the configuration and I'm at a loss. My activemq.xml (with destinations) is below. Any thoughts will be appreciated. Thanks Tom <beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.org/config/1.0" 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.org/config/1.0 http://activemq.apache.org/schema/activemq-core-5.0.0.xsd http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> <!-- Allows us to use system properties as variables in this configuration file --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> <broker xmlns="http://activemq.org/config/1.0" brokerName="localhost" dataDirectory="${activemq.base}/data"> <destinations> <queue physicalName="wileJmsQueryQueue"/> </destinations> <!-- The transport connectors ActiveMQ will listen to --> <transportConnectors> <transportConnector name="openwire" uri="tcp://localhost:61616" discoveryUri="multicast://default"/> <transportConnector name="ssl" uri="ssl://localhost:61617"/> <transportConnector name="stomp" uri="stomp://localhost:61613"/> <transportConnector name="xmpp" uri="xmpp://localhost:61222"/> </transportConnectors> <!-- The store and forward broker networks ActiveMQ will listen to --> <networkConnectors> <networkConnector name="default-nc" uri="multicast://default"/> </networkConnectors> <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="all" write="all" admin="all"/> <authorizationEntry topic="ActiveMQ.Advisory.>" read="all" write="all" admin="all"/> </authorizationEntries> <tempDestinationAuthorizationEntry> <tempDestinationAuthorizationEntry read="all" write="all" admin="all"/> </tempDestinationAuthorizationEntry> </authorizationMap> </map> </authorizationPlugin> </plugins> </broker> </beans> -- View this message in context: http://www.nabble.com/Secutiry-and-Predefined-Destinations-tp17370190s2354p17370190.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.