Skip to content

Instantly share code, notes, and snippets.

@yulgit1
Last active August 29, 2015 14:07
Show Gist options
  • Save yulgit1/98489d23ca87d4b7f3bc to your computer and use it in GitHub Desktop.
Save yulgit1/98489d23ca87d4b7f3bc to your computer and use it in GitHub Desktop.
YUL Access Control example
#current implementation as solr fields
#finegrained (view and download options for each datastream)
#using json nested literals for resolution
<str name="thumbnail_ss">Open Access</str>
<str name="jpg_ss">Yale Only</str>
<str name="jp2_ss">IP Restriction{130.132.111.227,128.36.*.*};NetID Restriction{handdan1}</str>
<str name="pdf_ss">Open Access</str>
<str name="ocr_ss">AD Group{mssasystems,libraryserveradmins}</str>
<str name="metadata_ss">Aeon Registration</str>
<str name="thumbnail_dl_ss">Open Access</str>
<str name="jpg_dl_ss">Yale Only</str>
<str name="jp2_dl_ss">IP Restriction{130.132.111.227,128.36.*.*};NetID Restriction{handdan1}</str>
<str name="pdf_dl_ss">Open Access</str>
<str name="ocr_dl_ss">AD Group{mssasystems,libraryserveradmins}</str>
<str name="metadata_dl_ss">Aeon Registration</str>
#triples using nested literals as object
<http://example.edu/object/1/pdf> f:accessPolicy "Open Access" ;
<http://example.edu/object/1/pdf> f:accessPolicyDL "YaleOnly" ;
<http://example.edu/object/1/jp2> f:accessPolicy “IP Restriction{130.132.111.227,128.36.*.*};NetID Restriction{handdan1}” ;
<http://example.edu/object/1/jp2> f:accessPolicyDL “IP Restriction{130.132.111.227,128.36.*.*};NetID Restriction{handdan1}” ;
#triples using PDP URIs (dummy "enabled" when no specific spec)
<http://example.edu/object/1/pdf> <http://example.edu/access/OpenAccessPolicy> "enabled"
<http://example.edu/object/1/pdf> http://example.edu/access/YaleOnlyPolicy> "enabled"
<http://example.edu/object/1/jp2> <http://example.edu/access/IPRestrictionPolicy> “130.132.111.227,128.36.*.*” ;
<http://example.edu/object/1/jp2> <http://example.edu/access/NetIDRestrictionPolicy> “handdan1”
<http://example.edu/object/1/jp2> <http://example.edu/access/IPRestrictionPolicyDL> “130.132.111.227,128.36.*.*” ;
<http://example.edu/object/1/jp2> <http://example.edu/access/NetIDRestrictionPolicyDL> “handdan1” ;
#future use if if necessary
lease,
embargo
#excluded abstractions
URI roles
read/write/append/control (just read for blacklight (not hydra))
advisory (handled in desc metadata)
#reference
https://gist.github.com/escowles/69df7f2fed1567d83a1b
https://wiki.duraspace.org/display/FF/Design+-+Authorization%2C+Authentication
https://wiki.duraspace.org/display/hydra/Hydra+Tech+Call+2014-10-29
https://docs.google.com/document/d/1pLcfruVy594ydtfL5G_Ony8oN6JeEKhtAWr5a6pE6Vg/edit#heading=h.tezomso9cftd
http://www.w3.org/wiki/WebAccessControl
https://www.lucidchart.com/publicSegments/view/5451379f-da94-445e-b39c-29b70a00c60b/image.png
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment