Olaf Gustav created ARTEMIS-5923:
------------------------------------

             Summary: Web Console Login fails with 
hawtio.authenticationThrottled=false
                 Key: ARTEMIS-5923
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5923
             Project: Artemis
          Issue Type: Bug
          Components: Web Console
    Affects Versions: 2.51.0
            Reporter: Olaf Gustav


Login to the web console fails when the parameter 
{{-Dhawtio.authenticationThrottled}} is set to false.

+set-up for testing:+
 * Artemis 2.51.0
 * Artemis runs on jdk-21
 * local user with password is created while executing {{./artemis create 
artemis-instance}}
 * HTTPS is configured in bootstrap.xml using a self-signed certificate

+issue:+

All login attempts to the web console ([https://host:8161/console/auth/login)] 
fail when setting the parameter {{hawtio.authenticationThrottled}} to false. 
The artemis.log file shows a NullPointerException:
{code:java}
2026-02-27 15:42:47,237 WARN  [org.eclipse.jetty.ee9.nested.HttpChannel] 
/console/auth/loginjava.lang.NullPointerException      at 
java.base/java.util.Objects.requireNonNull(Objects.java:233) at 
java.base/java.util.Optional.of(Optional.java:113)   at 
io.hawt.web.auth.AuthenticationConfiguration.getThrottler(AuthenticationConfiguration.java:586)
      at io.hawt.system.Authenticator.authenticate(Authenticator.java:206)    
at io.hawt.web.auth.LoginServlet.doPost(LoginServlet.java:70)   at 
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:520)       at 
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)       at 
org.eclipse.jetty.ee9.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1422)
        at 
org.eclipse.jetty.ee9.servlet.ServletHolder.handle(ServletHolder.java:781)   at 
org.eclipse.jetty.ee9.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1667)
     at 
io.hawt.web.auth.ClientRouteRedirectFilter.doFilter(ClientRouteRedirectFilter.java:144)
      at 
org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)   at 
org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1637)
        at 
io.hawt.web.filters.ResponseHeadersFilter.doFilter(ResponseHeadersFilter.java:63)
    at 
org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)   at 
org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1637)
        at 
io.hawt.web.auth.SessionExpiryFilter.process(SessionExpiryFilter.java:105)   at 
io.hawt.web.auth.SessionExpiryFilter.doFilter(SessionExpiryFilter.java:60)   at 
org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:210)   at 
org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1637)
        at 
org.apache.activemq.artemis.component.AuthenticationFilter.doFilter(AuthenticationFilter.java:43)
    at 
org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)   at 
org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1637)
        at 
org.apache.activemq.artemis.component.JolokiaFilter.doFilter(JolokiaFilter.java:50)
  at org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) 
  at 
org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1637)
        at 
org.eclipse.jetty.ee9.servlet.ServletHandler.doHandle(ServletHandler.java:526)  
     at 
org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:125)    at 
org.eclipse.jetty.ee9.security.SecurityHandler.handle(SecurityHandler.java:603) 
     at 
org.eclipse.jetty.ee9.nested.HandlerWrapper.handle(HandlerWrapper.java:124)  at 
org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:195)   
     at 
org.eclipse.jetty.ee9.nested.SessionHandler.doHandle(SessionHandler.java:612)   
     at 
org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:193)   
     at 
org.eclipse.jetty.ee9.nested.ContextHandler.doHandle(ContextHandler.java:1047)  
     at 
org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:162) at 
org.eclipse.jetty.ee9.servlet.ServletHandler.doScope(ServletHandler.java:483)   
     at 
org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:160) at 
org.eclipse.jetty.ee9.nested.SessionHandler.doScope(SessionHandler.java:589) at 
org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:160) at 
org.eclipse.jetty.ee9.nested.ContextHandler.doScope(ContextHandler.java:962) at 
org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:123)    at 
org.eclipse.jetty.ee9.nested.ContextHandler.handle(ContextHandler.java:1729) at 
org.eclipse.jetty.ee9.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1581)
 at org.eclipse.jetty.ee9.nested.HttpChannel.dispatch(HttpChannel.java:733)     
 at org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:520)       
 at 
org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:3054)
  at 
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1224)
     at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:859)   at 
org.eclipse.jetty.server.Server.handle(Server.java:197)      at 
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:787)
     at 
org.eclipse.jetty.http2.server.internal.HttpStreamOverHTTP2.lambda$onRequest$0(HttpStreamOverHTTP2.java:148)
 at org.eclipse.jetty.util.thread.Invocable$ReadyTask.run(Invocable.java:178)   
 at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
 at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
      at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
     at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
      at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:196)
 at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:237)   
 at 
org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:165) at 
org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:592)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ssl.SslConnection$SslEndPoint.onFillable(SslConnection.java:614)
        at 
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:415)    at 
org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:156)   at 
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
      at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
 at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
      at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
     at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
      at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
     at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:317)
     at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1239)
   at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
        at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120)
 {code}
Login works fine if the parameter is set to {*}true{*}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to