On Wed, Sep 16, 2009 at 9:58 AM, Ian Boston <[email protected]> wrote:
>
> On 16 Sep 2009, at 17:38, Vidar Ramdal wrote:
>
>> On Wed, Sep 16, 2009 at 12:32 AM, Ian Boston <[email protected]> wrote:
>>>
>>> Looking at PluggableDefaultAccessManager,
>>>
>>> Is it possible to implement a AccessManagerPlugin that uses the
>>> DefaultAccessManager that comes with Jackrabbit for most of the ACL
>>> resolution calls. It looks like the PluggableDefaultAccessManager is an
>>> all
>>> or nothing switch to the plugin if its there.
>>>
>>> IIRC DefaultAccessManager is well protected from an extension point of
>>> view
>>> and the PluggableDefaultAccessManager has all its public methods
>>> overwritten
>>> so you cant get to the super externally.
>>>
>>> I think (but could be wrong) its all or nothing as it stands, it would be
>>> nice to ask the plugin first and then ask the default but boolean is only
>>> true or false :(
>>
>> You're probably right, the PluggableDefaultAccessManager (PDAM) is all
>> or nothing.
>> Letting your AccessManagerPlugin (AMP) fall back to
>> DefaultAccessManager (DAM) seems to be a valid usecase.
>>
>> 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.
>
>
> Yes that would work, or let them throw an exception ?
> UnableToHandleAccessAssertionException
>
> I know some don't like using Exceptions in this way, so I would be just as
> happy with use nulls with good javadoc on the interface.

Yes, I would be one of those people. Unless falling back to
DefaultAccessManager is considered exception handling, I think we
should avoid an UnableToHandle...Exception.

> Happy to do the work, as I think it might allow me to eliminate one of my
> larger patches to Sling I am having to maintain.

Excellent!

-- 
Vidar S. Ramdal <[email protected]> - http://www.idium.no
Sommerrogata 13-15, N-0255 Oslo, Norway
+ 47 22 00 84 00 / +47 21 531941, ext 2070

Reply via email to