Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Create these three files:

    Code Block
    languagetext
    titlegroup.ttl
    @prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
    
    <> a vcard:Group;
        vcard:hasMember "testuser".


    Code Block
    languagetext
    titlefoo.ttl
    @prefix acl: <http://www.w3.org/ns/auth/acl#>.
    @prefix dc: <http://purl.org/dc/elements/1.1/>.
    
    <> dc:title "Hello, World!".


    Code Block
    languagetext
    titleacl.ttl
    @prefix acl: <http://www.w3.org/ns/auth/acl#>.
    
    <#groupRead> a acl:Authorization;
        acl:accessTo </fcrepo/rest/foo>;
        acl:agentGroup </fcrepo/rest/group>;
        acl:mode acl:Read.


  2. Upload these resources into Fedora:

    Code Block
    languagetext
    curl -X PUT http://localhost:8080/fcrepo/rest/group -u fedoraAdmin:secret3 \
        -H "Content-Type: text/turtle" --data-binary @group.ttl
    curl -X PUT http://localhost:8080/fcrepo/rest/foo -u fedoraAdmin:secret3 \
        -H "Content-Type: text/turtle" --data-binary @foo.ttl
    curl -X PUT http://localhost:8080/fcrepo/rest/foo/fcr:acl -u fedoraAdmin:secret3 \
        -H "Content-Type: text/turtle" --data-binary @acl.ttl
    
    


  3. Test that testuser can read the foo resource, while adminuser cannot: 

    Code Block
    languagetext
    $ curl -i http://localhost:8080/fcrepo/rest/foo -u testuser:password1
    $ curl -i http://localhost:8080/fcrepo/rest/foo -u adminuser:password2

    The first request should respond with 200 OK, while the second should be 403 Forbidden.

    To allow adminuser to also read the foo resource, we can add adminuser to the members of the group.

...