[
https://issues.apache.org/jira/browse/SLING-11243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17629548#comment-17629548
]
Eric Norman commented on SLING-11243:
-------------------------------------
PR #16 fixes a problem where if any leaf privilege has different restrictions
than a contained aggregate parent privilege, then the parent should not be set
and the non-conflicting ancestors should be set instead to avoid an ambiguous
definition.
> Allow modifying an ace with more specific restriction details
> -------------------------------------------------------------
>
> Key: SLING-11243
> URL: https://issues.apache.org/jira/browse/SLING-11243
> Project: Sling
> Issue Type: New Feature
> Reporter: Eric Norman
> Assignee: Eric Norman
> Priority: Major
> Fix For: JCR Jackrabbit Access Manager 3.1.0
>
> Time Spent: 3h 40m
> Remaining Estimate: 0h
>
> Support for modifying an ace with more specific details to support advanced
> usage of privileges with restrictions.
> These are a few of the use cases:
> # Setting a restriction for a specific privilege instead of for all
> privileges
> # Removing a restriction from a specific privilege
> # Privilege can set for the 'allow' and 'deny' state at the same time if
> those have different restrictions
> # Privilege can be unset for 'allow' or 'deny' state while leaving the other
> state alone
>
> The proposal is to supporting these additional request parameters:
>
> {code:java}
> One param for each privilege to delete. The parameter value must be either
> 'allow', 'deny' or 'all' to specify which state to delete from.
> privilege@[privilege_name]@Delete
> One param for each restriction value. The same parameter name may be used
> again for multi-value restrictions. The @Allow or @Deny suffix specifies
> whether to apply the restriction to the 'allow' or 'deny' privilege. The
> value is the target value of the restriction to be set.
> restriction@[privilege_name]@[restriction_name]@Allow
> restriction@[privilege_name]@[restriction_name]@Deny
> One param for each restriction to delete. The parameter value must be either
> 'allow', 'deny' or 'all' to specify which state to delete from.
> restriction@[privilege_name]@[restriction_name]@Delete {code}
>
> For consistency, also extend the values allowed for the
> "privilege@[privilege_name]" parameter to accept 'allow' or 'deny' as aliases
> for 'granted' or 'denied'.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)