2012-02-27 10 views
7

ActiveMQ Simple Authentication Pluginを使用して、ブローカーに対するすべての権限を持つ単一のユーザーとパスワードを使用するようにActiveMQの設定を変更しましたActiveMQ Simple Authentication Plugin - ユーザーadminは作成権限がありません。トピック://ActiveMQ.Advisory.Connection

<plugins> 
     <simpleAuthenticationPlugin> 
      <users> 
        <authenticationUser 
        username="admin" 
        password="pass" 
        groups="admins,publishers,consumers" /> 
      </users> 
     </simpleAuthenticationPlugin> 
    <authorizationPlugin> 
      <map> 
       <authorizationMap> 
        <authorizationEntries> 
         <authorizationEntry queue=">" write="producers" read="consumers" admin="admins" /> 
        </authorizationEntries> 
       </authorizationMap> 
      </map> 
     </authorizationPlugin> 

    </plugins> 

私のjava Webアプリケーションは、引数なしでcreateConnection()を呼び出すことによって、以前ActiveMQConnectionFactoryのインスタンスを作成していました。

connection = (ActiveMQConnection)connectionFactory.createConnection(); 

私は私をコンパイルすることができるよのcreateConnection()メソッド

String username = "admin"; 
    String password = "pass"; 
    connection = (ActiveMQConnection)connectionFactory.createConnection(username, password); 

のオーバーロードされたバージョンに設定をプラグインに私ActiveMQの簡易認証で定義されたユーザ名とパスワードの文字列を渡すために私のコードを修正しましたきれいにコードが、これは簡単なように見えた

10:51:03,831 ERROR [stderr] (MSC service thread 1-11) javax.jms.JMSException: User admin is not authorized to create: topic://ActiveMQ.Advisory.Connection 
    10:51:03,832 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) 
    10:51:03,832 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1295) 
    10:51:03,833 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1392) 
    10:51:03,834 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:309) 
    10:51:03,834 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.ActiveMQConnection.createQueueSession(ActiveMQConnection.java:1232) 
    10:51:03,835 ERROR [stderr] (MSC service thread 1-11) at com.company.app.anywhere.common.jms.JMSClient.<init>(JMSClient.java:74) 
    10:51:03,836 ERROR [stderr] (MSC service thread 1-11) at com.company.app.anywhere.common.jms.JMSListenerServletTemplate.startJMSConnection(JMSListenerServletTemplate.java:83) 
    10:51:03,836 ERROR [stderr] (MSC service thread 1-11) at com.company.app.anywhere.common.jms.JMSListenerServletTemplate.init(JMSListenerServletTemplate.java:64) 
    10:51:03,837 ERROR [stderr] (MSC service thread 1-11) at com.company.app.anywhere.common.jms.JMSAnywhereServlet.init(JMSAnywhereServlet.java:190) 
    10:51:03,837 ERROR [stderr] (MSC service thread 1-11) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) 
    10:51:03,838 ERROR [stderr] (MSC service thread 1-11) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) 
    10:51:03,838 ERROR [stderr] (MSC service thread 1-11) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) 
    10:51:03,838 ERROR [stderr] (MSC service thread 1-11) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) 
    10:51:03,839 ERROR [stderr] (MSC service thread 1-11) at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) 
    10:51:03,839 ERROR [stderr] (MSC service thread 1-11) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) 
    10:51:03,840 ERROR [stderr] (MSC service thread 1-11) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) 
    10:51:03,840 ERROR [stderr] (MSC service thread 1-11) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    10:51:03,841 ERROR [stderr] (MSC service thread 1-11) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    10:51:03,841 ERROR [stderr] (MSC service thread 1-11) at java.lang.Thread.run(Thread.java:680) 
    10:51:03,842 ERROR [stderr] (MSC service thread 1-11) Caused by: java.lang.SecurityException: User admin is not authorized to create: topic://ActiveMQ.Advisory.Connection 
    10:51:03,842 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:76) 
    10:51:03,843 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151) 
    10:51:03,843 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:502) 
    10:51:03,844 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:515) 
    10:51:03,844 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:446) 
    10:51:03,844 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:441) 
    10:51:03,845 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:73) 
    10:51:03,846 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) 
    10:51:03,846 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) 
    10:51:03,847 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) 
    10:51:03,848 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.security.SimpleAuthenticationBroker.addConnection(SimpleAuthenticationBroker.java:96) 
    10:51:03,848 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) 
    10:51:03,849 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) 
    10:51:03,850 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:692) 
    10:51:03,851 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:83) 
    10:51:03,851 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:137) 
    10:51:03,852 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306) 
    10:51:03,853 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179) 
    10:51:03,854 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69) 
    10:51:03,854 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) 
    10:51:03,858 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227) 
    10:51:03,859 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.transport.TransportLogger.onCommand(TransportLogger.java:114) 
    10:51:03,860 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) 
    10:51:03,860 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220) 
    10:51:03,861 ERROR [stderr] (MSC service thread 1-11) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202) 
    10:51:03,861 ERROR [stderr] (MSC service thread 1-11) ... 1 more 

を展開するときに、エラー「は、ユーザがトピックを作成することはできません」を受け取ります。 createConnection()コールを設定する方法に何か問題があるのだろうか?何かアドバイスをいただきました。

編集:私は私の設定にauthorizationPluginを追加しようとした -

答えて

12

あなたの既存の設定は、キューだけに適用されたエラーの同じタイプを作るようです。次を追加してください:

<authorizationEntry topic=">" write="producers" read="consumers" admin="admins" /> 
+0

ありがとうございます! – user619804

+1

素晴らしい!もしあなたの問題を解決したら、答えを投票してください。人々の援助を奨励します。 –

関連する問題