On 16 Sep 2009, at 18:37, Bertrand Delacretaz wrote:

Hi,

On Wed, Sep 16, 2009 at 10:09 AM, Ian Boston <[email protected]> wrote:
On 16 Sep 2009, at 18:04, Vidar Ramdal wrote:

.... What if we alter the AMP interface and let the boolean methods (isGranted, canRead) return Booleans instead? That way, the AMP could
return null to signalize that handling should fall back to
DefaultAccessManager....

...will do, jira -> patch -> review -> commit as usual. I'm wont just trample
of the api....

IIUC you're going to change the AccessManagerPlugin interface?

If yes I'd suggest holding an explicit VOTE here, about the suggested
changes - if only to make sure people who use it are aware of it.

-Bertrand


Agreed,
The patch at SLING-1110 will change the API's and needs review, and a vote.

However, after sleeping on the issue, I am not certain that the changes achieve the desired results.

the AMP can express an opinion at the item level, but in order for it to be really useful I think it needs to express an opinion at the ACL level. I will try and explain in as few words as possible.

In the DefaultAccessManager (DAM) the effective ACL, bound to the set of principals associated with the user is constructed by a hierarchical search, if the AMP desires to make decisions compatible with principal bound ACL's (IMHO, it does) then it will need to be able to construct the ACL.

Consequently the patch in SLING-1110 is moot, although it allows the AMP to delegate to the DAM, it wont remove the need to duplicate the ACL construction code in the DAM, and so the patch doesn't actually address the fundamental use case, which IMHO is to plug in access control customizations on a user-item basis compatible with the DAM and ACL based access control in Jackrabbit 1.5 and critically in Jackrabbit 2.

At the moment this issue is, "do nothing and think again"
Ian







Reply via email to