You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Ian Boston <ie...@tfd.co.uk> on 2009/07/09 12:21:28 UTC
Re: [jira] Updated: (SLING-981) A security loader, along the lines of the contentloader to make it possible to populate ACL,s and Authorizables on startup
On 14 Jun 2009, at 17:15, Eric Norman (JIRA) wrote:
>
> [ https://issues.apache.org/jira/browse/SLING-981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> ]
>
> Eric Norman updated SLING-981:
> ------------------------------
>
> Attachment: SLING-981_patch.txt
>
> Hi Ian,
>
> I agree that bootstrapping the principals and security policies is
> an important feature that is missing from sling.
>
> I've taken a look at your contribution and in my opinion this
> functionality should really be integrated into the base
> ContentLoader. I think that would be easier to maintain and ensures
> that the nodes are created before the ACLs.
>
> I've prepared a new patch (attached as SLING-981_patch.txt) that
> provides the same functionality by patching the
> org.apache.sling.jcr.contentloader bundle.
>
> Also for clarity, I have slightly modified the JSON syntax you had
> proposed. Hopefully there will not be any conflicts with node
> properties using the new reserved names 'security:acl' and
> 'security:princpals'.
>
> The new JSON syntax to create Users and Groups:
>
> {
> "security:principals" : [
> {
> "name":"TestUser1",
> "password":"mypassword",
> "extraProp1":"extraProp1Value"
> },
> {
> "name":"TestGroup1",
> "isgroup":"true",
> "members":["TestUser1"],
> "extraProp1":"extraProp1Value"
> }
> ]
> }
>
> And the JSON syntax to create an ACL for the current node:
> {
> "security:acl" : [
> {
> "principal" : "TestGroup1",
> "granted" : [
> "jcr:read",
> "jcr:write"
> ]
> },
> {
> "principal" : "TestUser1",
> "granted" : [
> "jcr:read"
> ],
> "denied" : [
> "jcr:write"
> ]
> }
> ]
> }
>
> What do you think?
Yes, makes perfect sense to me, much better.
Ian
>
>
>> A security loader, along the lines of the contentloader to make it
>> possible to populate ACL,s and Authorizables on startup
>> --------------------------------------------------------------------------------------------------------------------------
>>
>> Key: SLING-981
>> URL: https://issues.apache.org/jira/browse/SLING-981
>> Project: Sling
>> Issue Type: New Feature
>> Components: JCR Contentloader
>> Reporter: Ian Boston
>> Attachments: securityloader.tgz, SLING-981_patch.txt
>>
>>
>> Th small tar to follow allows bundles to include a Sakai-Initial-
>> Security (to be renamed) header in the manifest that points to a
>> json file containing acl and authorizable setup for the repository.
>> This may include users or groups as required by the acl's and the
>> acls. In for form
>> {
>> "principals" : [
>> {
>> "name":"owner",
>> "isgroup":"true",
>> "members":[],
>> "dynamic":"true"
>> },
>> {
>> "name":"everyone",
>> "isgroup":"true",
>> "members":[],
>> "dynamic":"true"
>> }
>> ],
>> "acl" : [
>> {
>> "path":"/_private",
>> "principal":"owner",
>> "privilege@jcr:read":"granted",
>> "privilege@jcr:write":"granted"
>>
>> },
>> {
>> "path":"/public",
>> "principal":"owner",
>> "privilege@jcr:read":"granted",
>> "privilege@jcr:write":"granted"
>>
>> },
>> {
>> "path":"/public",
>> "principal":"everyone",
>> "privilege@jcr:read":"granted"
>> }
>> ]
>> }
>> The code is largely based on the contentloader with quite a bit of
>> copying (ugly sorry), but since it may not be wanted in in some
>> installations I feel its better off in its own bundle. If its
>> acceptable to have it in all distributions, then obviusly it should
>> be a patch to contentloader.
>> I looked and asked for this functionality already existing in
>> Sling, but could not find it hence the patch. If there is a better
>> way of doing the same already in the code base then closing this
>> with "invalid" would be the right thing to do.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>