Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-442

Unable to change role for activemq webconsole

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • JBoss A-MQ 6.0
    • None
    • None

    Description

      I'm unable to change the role for the activemq web console. We seem to have "admin" hardcoded somewhere or there is a conflict changing just the amq web console and not all of the other utilities under port 8181.

      Reproduce:

      1. Not entirely sure where to change this but have done so in the following two ways:

      A. Updated ./system/org/apache/karaf/assemblies/features/standard/2.3.0.redhat-60024/standard-2.3.0.redhat-60024-features.xml:

      <feature name="webconsole-base" description="Base support of the Karaf WebConsole" version="2.3.0.redhat-60024">
      <config name="org.apache.karaf.webconsole">
      realm=karaf
      role=${amq.admin.role}
      </config>

      Added amq.admin.role to system.properties under karaf.admin.role (which was the default here).

      Deleted data directory, re-installed feature.

      B. Followed directions in KCS article to update the WEB-INF in mq-web-console-6.0.0.redhat-024.war:

         <security-constraint>
              <display-name>JBoss A-MQ</display-name>
              <web-resource-collection>
                  <web-resource-name>JBoss A-MQ</web-resource-name>
                  <url-pattern>/*</url-pattern>
              </web-resource-collection>
              <auth-constraint>
                  <role-name>webconsole2</role-name>
              </auth-constraint>
          </security-constraint>
      
      

      After updating the mq-web-console bundle, I get further and I no longer get "!role" in my browser window but an internal error. Looking in the log I can see the following:

      16:22:47,621 | DEBUG | /images/logo.gif | ApplicationContextFilter         | 250 - org.fusesource.mq.mq-web-console - 5.7.0.fuse-71-047 | (GET /activemqweb/images/logo.gif)@287979946 org.eclipse.jetty.server.Request@112a39aa
      java.lang.SecurityException: Authentication failed
      	at org.apache.karaf.management.JaasAuthenticator.authenticate(JaasAuthenticator.java:101)
      	at javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:213)
      	at javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:180)
      	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:597)
      	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
      	at sun.rmi.transport.Transport$1.run(Transport.java:159)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
      	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      	at java.lang.Thread.run(Thread.java:680)
      	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
      	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
      	at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
      	at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2330)
      	at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:278)
      	at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:249)
      	at org.apache.activemq.web.RemoteJMXBrokerFacade.createConnection(RemoteJMXBrokerFacade.java:146)
      	at org.apache.activemq.web.RemoteJMXBrokerFacade.getMBeanServerConnection(RemoteJMXBrokerFacade.java:114)
      	at org.apache.activemq.web.RemoteJMXBrokerFacade.getBrokerAdmin(RemoteJMXBrokerFacade.java:88)
      	at org.apache.activemq.web.BrokerFacadeSupport.isSlave(BrokerFacadeSupport.java:231)
      	at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:89)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
      	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
      	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
      	at org.ops4j.pax.web.service.internal.WelcomeFilesFilter.doFilter(WelcomeFilesFilter.java:193)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
      	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1038)
      	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:117)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:374)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:972)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      	at org.eclipse.jetty.server.Server.handle(Server.java:359)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)
      	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:920)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:982)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
      	at java.lang.Thread.run(Thread.java:680)
      Caused by: javax.security.auth.login.FailedLoginException: User does not have the required role admin
      	at org.apache.karaf.management.JaasAuthenticator.authenticate(JaasAuthenticator.java:96)
      	at javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:213)
      	at javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:180)
      	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:597)
      	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
      	at sun.rmi.transport.Transport$1.run(Transport.java:159)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
      	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      	... 1 more
      

      Attachments

        Activity

          People

            dejanbosanac Dejan Bosanac
            rhn-support-sjavurek Susan Javurek
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: