Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflict between authorization resources and derived resources with URI parameters #10

Open
joachimvh opened this issue Mar 18, 2024 · 2 comments

Comments

@joachimvh
Copy link
Collaborator

Issue is present in v1.0.2.

Using the example resources, accessing /template/ is impossible. The reason is that the server first tries to read /template/.acl to see the read permissions. It should notice it does not exist, and then read the permissions from /.acl. The problem is that /template/.acl matches the template URL /template/{var} and tries to fill in .acl into the SPARQL query, causing issues.

Just having an existing ACL at /template/.acl will not solve the issue, as the server will still try to generate the derived contents for it as it matches the template.

The simplest solution would be to not have template URLs that match all the contents of a container.

@joachimvh
Copy link
Collaborator Author

The simplest solution would be to not have template URLs that match all the contents of a container.

...and not have a trailing template matcher, as /template/pred-{var} still tries to match when looking up the ACL of, for example /template/pred-foaf:knows.acl.

This used to work at some point though so I will have to check what I broke.

@joachimvh
Copy link
Collaborator Author

This used to work at some point though so I will have to check what I broke.

Turns out this used to work accidentally because of a bug where the hasResource call never checked if the target was a derived resource. This issue started occurring after fixing that bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant