[ 
https://issues.apache.org/jira/browse/SLING-8766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Munteanu resolved SLING-8766.
------------------------------------
    Fix Version/s: Repoinit JCR 1.1.16
         Assignee: Robert Munteanu
       Resolution: Fixed

PR merged, thanks a lot [~angela].

> AclVisitor.setPrincipalAcl: be more lenient with unsupported principals 
> ------------------------------------------------------------------------
>
>                 Key: SLING-8766
>                 URL: https://issues.apache.org/jira/browse/SLING-8766
>             Project: Sling
>          Issue Type: Improvement
>          Components: Repoinit
>            Reporter: Angela Schreiber
>            Assignee: Robert Munteanu
>            Priority: Major
>             Fix For: Repoinit JCR 1.1.16
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> i noticed the following potential for improvement with 
> {{AclVisitor.setPrincipalAcl}} when testing it in an AEM upgrade scenario. 
> due to the fact that repo-init doesn't verify the _intermedidatePath_ when a 
> user/group to be created already exists but happens to be located at the 
> different subtree, {{AclVisitor.setPrincipalAcl}} may fail upon upgrade _if_ 
> the existing principal turns out to be not supported. this happens 
> irrespective of the fact that the repo init statements were perfectly fine if 
> run initially.
> example with filter configured with supported path 
> _/home/users/system/principalbased_
> {code}
> create service user foo with path system/principalbased
> set principal ACL for foo
>     allow jcr:read,rep:write on /content
> end
> {code}
> if 'foo' already existed at _/home/users/system/elsewhere_ the repo init code 
> does not make an attempt to move 'foo' to the new location and is fine with 
> 'foo' existing. however, the ac-setup will fail.
> i would suggest to improve this by log.INFO that no 
> {{PrincipalAccessControlList}} can be found instead of throwing 
> {{IllegalStateException}}. In the subsequent access control setup verify if 
> an equivalent effective {{AccessControlEntry}} is present and only throw the 
> exception if no such entry exists, meaning that the effective access control 
> setup resulting from repo-init is incomplete.



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

Reply via email to