Konrad Windszus created OAK-3275:
------------------------------------

             Summary: DefaultSyncConfig: User membership expiration time not 
working under some circumstances
                 Key: OAK-3275
                 URL: https://issues.apache.org/jira/browse/OAK-3275
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: auth-external
    Affects Versions: 1.3.5
            Reporter: Konrad Windszus


Currently the user expiration and the user membership expiration can be set 
independently of each other in the OSGi configuration for the 
{{DefaultSyncConfigImpl}}.

In reality this is not true though:
Not only can the membership not be updated more often than the other user 
properties (compare with OAK-3274). 
Also the property which is used to mark the last successfull sync is the same 
for both synchronisations 
(https://github.com/apache/jackrabbit-oak/blob/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java#L433
 and 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java#L422).

That is a problem if e.g. the user expiration time is 10 minutes but the user 
membership expiration time is 1 hour. Then every 10 minutes the property 
{{rep:lastSynced}} would be updated to the current time and the expiration 
check for the membership expiration would never return true 
(https://github.com/apache/jackrabbit-oak/blob/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java#L433).
 Therefore memberships would never be updated!

I suggest to completely get rid of user membership expiration time and only 
have one expiration time for both the user properties and the memberships.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to