Branden,
Depending on which version of Jackrabbit you are running you might be able to.

Assuming
/ has
          everyone:grant:jcr:write
          admin:grant:jcr:all
          anonomous:grant:jcr:read
then /users/branden will need
         branden:grant:jcr:write
         everyone:deny:jcr:all
         anonomous:deny:jcr:all


Certainly in 1.5.7 you cant deny access to a group,
so since everyone was granted read at / you cant deny read at /users/ branden

I think in JR2 group deny was enabled, but ATM we dont have JR2 in Sling (Felix is working on it).

The other problem is that both the AccessManagerServlets and the DefaultSecurityManager have blocks of code that prevent a group:deny:* ACE being applied.

ie you cant set everyone:deny:jcr:all and its not processed even if you could.

So as part of the upgrade to 2, the checks would need to be removed in the access manager bundle to allow group deny. Alternatively I think the security settings in the contentloader bundle will allow you to set these ACE's directly

----------------

We had exactly the same issue, so we patched everything to make it work. Sady the patch to the 1.5.7 DefaultSecurityManager is quite extensive since it requires far greater control over the order in which the ACL bitmap is compiled. (branded is a member of everyone is just one issue)

I am in the process or reworking those patches for the JR1.6 based server bundle, but I am not there yet, and can give you pointers to the code if you like.
HTH
Ian

On 5 Dec 2009, at 01:30, Branden Visser wrote:

Hi all,

This sounds like more of a JCR question then Sling, but I'm hoping it's a quick answer:

If I have a resource node: /users/branden, how would I make the resource 'branden' and everything beneath it be private, so that no other authenticated user (except branden) can read it? I looked at the AccessControl spec and read up on the spec, but I didn't see anything that could serve this purpose. Did I miss a document?

Thanks,
Branden



Reply via email to