AccessControlUtil.replaceAccessControlEntry(..) must preserve the order of the 
ACEs in the AccessControlList when merging changes into an existing ACE
------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: SLING-1457
                 URL: https://issues.apache.org/jira/browse/SLING-1457
             Project: Sling
          Issue Type: Bug
          Components: JCR
    Affects Versions: JCR Jackrabbit Access Manager 2.0.6
            Reporter: Eric Norman
            Assignee: Eric Norman
             Fix For: JCR Jackrabbit Access Manager 2.0.6


As described by Ray Davis on the jackrabbit-users mailing list (see 
http://www.mail-archive.com/[email protected]/msg14734.html ), the 
order of the ACEs in the AccessControlList is important for resolving 
conflicting group permissions.  When resolving the permissions, if the current 
user is the member of multiple groups that have permissions specified, then the 
last group in the ACL wins if there are any conflicts.

The problem is that whenever the sling 
AccessControlUtil.replaceAccessControlEntry(..) api is invoked to merge changes 
to an ACE, the old ACE is removed from the ACL and re-added at the end of list 
of ACEs.    Instead, the merge logic should ensure that the updated ACE is in 
the same position as the ACE that is being updated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to