Hi!
I’m trying to confirm the exact inheritance and behavior of Grav’s ACL system across the following layers (and anywhere else I might be missing):
- Site-level defaults (
user/config/site.yaml,plugins/login.yaml) - Groups (
user/config/groups.yaml) - Users (
user/accounts/<user>.yaml) - Page frontmatter (
access:)
I’ve read the Login plugin docs and successfully tested examples like:
access:
site.login: true
groups: [editors]
users: [eightysixed]
…but I can’t find a canonical example in the docs showing how these layers merge together.
Older forum posts mention this topic, but most were written before the later Grav 1.7.x updates — and some of those links are now gone.
In particular, I can’t find much on using the groups: and users: keys inside a page’s access: frontmatter in Grav’s docs/the Learn site.
Questions:
- Does Grav formally merge group → user → page ACLs at runtime?
- Are
access.groupsandaccess.usersofficially supported, or just respected by the Login plugin? - Is
login.visibility_requires_access: truestill the correct way to hide restricted pages from menus and listings?
Any official clarification or example YAMLs would be super helpful — especially for new users setting up private sections, member areas, or simple editorial workflows. Thanks! ![]()