Manfred Baedke created OAK-8710:
-----------------------------------

             Summary: AbstractLoginModule#logout() may fail in the presence of 
principals unknown to Oak.
                 Key: OAK-8710
                 URL: https://issues.apache.org/jira/browse/OAK-8710
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: security-spi
            Reporter: Manfred Baedke


See 
https://github.com/apache/jackrabbit-oak/blob/9569d659f0655d3ba16c1cfe1fbb5f53959f701f/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.java#L189:
The criterion for logout() to succeed is
{code}!subject.getPrincipals().isEmpty() && 
!subject.getPublicCredentials(Credentials.class).isEmpty(){code}
This did not work in a case where the subject was created by a thread handling 
an authenticated JMX connection (and later passed on to other threads due to 
AccessControlContext inheritage).

I'd propose to make logout() succeed unconditionally, but I'm not entirely sure 
about side effects.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to