FWIW, I have dropped your configuration into my setup (AMQ 5.1, JDK 1.5.0_06-b05, Windoze XP Pro) and have not encountered your problem. I have used both jaasAuthenticationPlugin and simpleAuthenticationPlugin.
Joe Tom Purcell wrote: > > 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-tp17370190s2354p17432647.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.