Hello.

I think I have found a possible explanation, but I'm not sure this is the
right or best way : adding broker's clients authentication seems to require
that the internal user "system" that is used by the console to be added to
the users (for password matching) and groups (for authorization as an
admin).

Is it right ?

After these changes the console seems to work even for browsing or sending
messages...

Thanks.

Regards.

Le mar. 15 avr. 2025 à 17:18, Ephemeris Lappis <ephemeris.lap...@gmail.com>
a écrit :

> Hello.
>
> After adding a user "client" into the file "users.properties" (for
> application access), and adding it in file "groups.properties" with
> "clients=client", we have errors in the web console only for some
> operations like browsing or sending messages.
>
> In the logs we can see errors about the system account that seems to be
> used for internal broker accesses : see them at the end of my mail. After a
> first error, any operation except displaying queues fails.
>
> We didn't change anything else, and the files for system credentials are
> the same in another instance without the last change.
>
> What's wrong ?
>
> Thanks for your help.
>
> Regards.
>
> 2025-04-15T17:02:54,403 | WARN  | qtp386478079-34 |
> org.eclipse.jetty.server.HttpChannel |
> /echanges/activemq/admin/sendMessage.action
> javax.servlet.ServletException: javax.servlet.ServletException:
> org.springframework.web.util.NestedServletException: Request processing
> failed; nested exception is javax.jms.JMSSecurityException: User name
> [system] or password is invalid.
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:162)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>         at org.eclipse.jetty.server.Server.handle(Server.java:516)
>         at
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
>         at
> org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
>         at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
>         at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
>         at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>         at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
>         at
> org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
>         at
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
>         at java.base/java.lang.Thread.run(Thread.java:840)
> Caused by: javax.servlet.ServletException:
> org.springframework.web.util.NestedServletException: Request processing
> failed; nested exception is javax.jms.JMSSecurityException: User name
> [system] or password is invalid.
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:162)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
>         ... 17 more
> Caused by: org.springframework.web.util.NestedServletException: Request
> processing failed; nested exception is javax.jms.JMSSecurityException: User
> name [system] or password is invalid.
>         at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
>         at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
>         at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
>         at
> org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1459)
>         at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
>         at
> org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
>         at
> org.apache.activemq.web.AuditFilter.doFilter(AuditFilter.java:59)
>         at
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>         at
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
>         at
> org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
>         at
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
>         at
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
>         at
> org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>         at
> org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)
>         at
> org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
>         ... 19 more
> Caused by: javax.jms.JMSSecurityException: User name [system] or password
> is invalid.
>         at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:65)
>         at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1465)
>         at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1548)
>         at
> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:568)
>         at
> org.apache.activemq.web.WebClient.getConnection(WebClient.java:262)
>         at
> org.apache.activemq.web.WebClient.createSession(WebClient.java:359)
>         at org.apache.activemq.web.WebClient.getSession(WebClient.java:250)
>         at
> org.apache.activemq.web.controller.SendMessage.createMessage(SendMessage.java:172)
>         at
> org.apache.activemq.web.controller.SendMessage.sendMessages(SendMessage.java:71)
>         at
> org.apache.activemq.web.controller.SendMessage.handleRequest(SendMessage.java:56)
>         at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:51)
>         at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)
>         at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
>         at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
>         ... 51 more
> Caused by: java.lang.SecurityException: User name [system] or password is
> invalid.
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.authenticate(JaasAuthenticationBroker.java:97)
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:68)
>         at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:99)
>         at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:852)
>         at
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)
>         at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:335)
>         at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:199)
>         at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
>         at
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
>         at
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:275)
>         at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
>         at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
>         at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>         at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>         ... 1 more
> Caused by: javax.security.auth.login.FailedLoginException: User does exist
>         at
> org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:92)
>         at
> java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
>         at
> java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:679)
>         at
> java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:677)
>         at
> java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
>         at
> java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:677)
>         at
> java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:587)
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.authenticate(JaasAuthenticationBroker.java:92)
>         ... 14 more
> 2025-04-15T17:02:56,399 | INFO  | ActiveMQ
> BrokerService[BROKER-alice-echanges-activemq-5dc9fb7646-kwzr7] Task-24 |
> org.apache.activemq.broker.TransportConnection | Stopping vm://localhost#0
> because Failed with SecurityException: User name [system] or password is
> invalid.
>

Reply via email to