feat: Update configs based on all permission changes

This commit is contained in:
Joachim Van Herwegen 2022-06-29 11:01:53 +02:00
parent fd83f4b013
commit d5bcec704c
4 changed files with 49 additions and 29 deletions

View File

@ -7,17 +7,27 @@
], ],
"@graph": [ "@graph": [
{ {
"comment": "Adds parent container checks needed for create/delete permissions.",
"@id": "urn:solid-server:default:WrappedWebAclReader",
"@type": "ParentContainerReader",
"identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" },
"reader": { "@id": "urn:solid-server:default:WebAclAuxiliaryReader" }
},
{
"comment": "Reinterprets Control permissions as Read/Write on the ACL document.",
"@id": "urn:solid-server:default:WebAclAuxiliaryReader",
"@type": "WebAclAuxiliaryReader",
"aclStrategy": { "@id": "urn:solid-server:default:AclStrategy" },
"reader": { "@id": "urn:solid-server:default:WebAclReader" }
},
{
"comment": "Reads out permissions from an ACL document for subject resources.",
"@id": "urn:solid-server:default:WebAclReader", "@id": "urn:solid-server:default:WebAclReader",
"@type": "WebAclReader", "@type": "WebAclReader",
"aclStrategy": { "aclStrategy": { "@id": "urn:solid-server:default:AclStrategy" },
"@id": "urn:solid-server:default:AclStrategy" "resourceSet": { "@id": "urn:solid-server:default:CachedResourceSet" },
}, "aclStore": { "@id": "urn:solid-server:default:ResourceStore" },
"aclStore": { "identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" },
"@id": "urn:solid-server:default:ResourceStore"
},
"identifierStrategy": {
"@id": "urn:solid-server:default:IdentifierStrategy"
},
"accessChecker": { "accessChecker": {
"@type": "BooleanHandler", "@type": "BooleanHandler",
"handlers": [ "handlers": [

View File

@ -6,7 +6,8 @@
"@id": "urn:solid-server:default:OwnerPermissionReader", "@id": "urn:solid-server:default:OwnerPermissionReader",
"@type": "OwnerPermissionReader", "@type": "OwnerPermissionReader",
"accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" }, "accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" },
"aclStrategy": { "@id": "urn:solid-server:default:AclStrategy" } "aclStrategy": { "@id": "urn:solid-server:default:AclStrategy" },
"identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" }
} }
] ]
} }

View File

@ -6,25 +6,26 @@
], ],
"@graph": [ "@graph": [
{ {
"comment": "Uses Web Access Control for authorization.", "comment": "Requests permissions on subject resources for auxiliary resources.",
"@id": "urn:solid-server:default:PermissionReader", "@id": "urn:solid-server:default:PermissionReader",
"@type": "UnionPermissionReader", "@type": "AuxiliaryReader",
"readers": [ "auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" },
{ "reader": {
"comment": "This PermissionReader will be used to prevent external access to containers used for internal storage.", "@type": "UnionPermissionReader",
"@id": "urn:solid-server:default:PathBasedReader", "readers": [
"@type": "PathBasedReader", {
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" } "comment": "This PermissionReader will be used to prevent external access to containers used for internal storage.",
}, "@id": "urn:solid-server:default:PathBasedReader",
{ "@id": "urn:solid-server:default:OwnerPermissionReader" }, "@type": "PathBasedReader",
{ "baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
"comment": "This PermissionReader makes sure that for auxiliary resources, the main reader gets called with the associated identifier.", },
"@type": "AuxiliaryReader", { "@id": "urn:solid-server:default:OwnerPermissionReader" },
"resourceReader": { "@id": "urn:solid-server:default:WebAclReader" }, {
"auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" } "comment": "Uses Web Access Control for authorization.",
}, "@id": "urn:solid-server:default:WrappedWebAclReader"
{ "@id": "urn:solid-server:default:WebAclReader" } }
] ]
}
}, },
{ {
"comment": "In case of WebACL authorization the ACL resources determine authorization.", "comment": "In case of WebACL authorization the ACL resources determine authorization.",

View File

@ -2,8 +2,16 @@
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld", "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld",
"@graph": [ "@graph": [
{ {
"comment": "Determines required modes based on HTTP methods.", "comment": "Checks if an operation on a resource requires permissions on intermediate resources (such as newly created parent containers).",
"@id": "urn:solid-server:default:ModesExtractor", "@id": "urn:solid-server:default:ModesExtractor",
"@type": "IntermediateCreateExtractor",
"resourceSet": { "@id": "urn:solid-server:default:CachedResourceSet" },
"strategy": { "@id": "urn:solid-server:default:IdentifierStrategy" },
"source": { "@id": "urn:solid-server:default:HttpModesExtractor" }
},
{
"comment": "Determines required modes based on HTTP methods.",
"@id": "urn:solid-server:default:HttpModesExtractor",
"@type": "WaterfallHandler", "@type": "WaterfallHandler",
"handlers": [ "handlers": [
{ {