Grzegorz Grzybek created ARTEMIS-5587:
-----------------------------------------

             Summary: HttpServerAuthenticator needs to set correct TCCL
                 Key: ARTEMIS-5587
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5587
             Project: ActiveMQ Artemis
          Issue Type: Bug
    Affects Versions: 2.43.0
            Reporter: Grzegorz Grzybek


When using this configuration in {{etc/artemis.profile}}:
{noformat}
-DhttpServerAuthenticator.realm=activemq
-DhttpServerAuthenticator.requestSubjectAttribute=org.jolokia.jaasSubject
-javaagent:$HOME/.m2/repository/org/jolokia/jolokia-agent-jvm/2.2.10-SNAPSHOT/jolokia-agent-jvm-2.2.10-SNAPSHOT-javaagent.jar=
 \
    
authClass=org.apache.activemq.artemis.spi.core.security.jaas.HttpServerAuthenticator,
 \
    port=7778, \
    protocol=http, \
    debug=true, \
    lazy=true
{noformat}

I could tell Jolokia to use Artemis' implementation of 
{{com.sun.net.httpserver.Authenticator}}. By default, {{etc/login.conf}} is:
{noformat}
activemq {
   org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule 
required
       debug=false
       reload=true
       org.apache.activemq.jaas.properties.user="artemis-users.properties"
       org.apache.activemq.jaas.properties.role="artemis-roles.properties";
};
{noformat}

The problem is that while Jolokia loads 
{{org.apache.activemq.artemis.spi.core.security.jaas.HttpServerAuthenticator}} 
correctly thanks to its {{ArtemisDetector}}, When {{LoginContext.login()}} is 
invoked, it's the TCCL that is tried to load actual login module (here: 
{{org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule}}).

Currently TCCL is set to app class loader.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to