Closed kjetilk closed 5 years ago
This part has not been detailed indeed; here's a sketch of how I'd expect it to work:
AclCache
has a corresponding ResourceStore
implementation, which follows a decorator pattern and wraps around the main ResourceStore
. It informs AclCache
of all modifications, such that it can invalidate its cache.
Right! I would love to see that in the diagram before the launch of coding :-)
We can definitely make a zoomed-in diagram for that part.
I think an ACL cache is a very important part of a Solid server, as every request will lead to multiple queries towards it. Now, I understand that ACL is part of the Authorization, and that it is designed to encompass more than ACL, but as far as I can see, it is unclear from the architecture how it will be maintained and interacted with.
If designed as a write-through cache, it seems to need to intercept Operations on the ResourceStore. If designed with separate cache maintenance systems, the AclBasedAuthorizer needs to be detailed. I'm sure there are more options too.