[ 
https://issues.apache.org/jira/browse/OAK-8710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16973424#comment-16973424
 ] 

Angela Schreiber edited comment on OAK-8710 at 11/20/19 12:31 PM:
------------------------------------------------------------------

the fix causes unexpected errors being logged with {{ContentSession.close()}}, 
will revert the changes to get a precise understanding what's the reason -> 
revision 1869749.

for the record: the reason for the errors was the fact that {{LoginModuleImpl}} 
calls {{clearState}} even in case the {{commit}} succeeded in order to make 
sure the system-session used to lookup principals is closed, when 
{{clearState}} actually is mandated to reset the state including the 
credentials later needed for the {{logout}} call.



was (Author: anchela):
the fix causes unexpected errors being logged with {{ContentSession.close()}}, 
will revert the changes to get a precise understanding what's the reason -> 
revision 1869749.


> AbstractLoginModule#logout() must not remove 'foreign' principals/credentials 
> ------------------------------------------------------------------------------
>
>                 Key: OAK-8710
>                 URL: https://issues.apache.org/jira/browse/OAK-8710
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: auth-external, core, security-spi
>            Reporter: Manfred Baedke
>            Assignee: Angela Schreiber
>            Priority: Major
>         Attachments: OAK-8710.patch, logout.png
>
>
> 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