xSiteable has an access control system based on the RESTful structure of the site in question. You start with the home page, and structurally move down it, inheriting (and possibly override) rules from the parent page.
Each page has a number of functions you can do, see or interact with, and these functions are reflected in the access rules. So, for example, you can control who has access to the editing of a given page, or all its sub-pages. The rules access or denial can be attach to users, groups of users, roles, or user types.
In a nutshell
- Access rules determine whether a particular function (source) is allowed (permitted) or denied (not permitted)
- All rules have the following forrmat: If [type] = [something] then [Allow/Deny] [Function]
- Access rules are parsed one after the other, from top to bottom
- Each rule is either matched or not matched
- If the rule is matched, then the function is allowed
- If there are conflicting rules, the last matched rule applies
- Access rules can be placed on any page.
- Access rules are inherited from the parent page.
- Inheritence can't be explicitly broken, but you can place rules on the current page to override inherited rules.
Function / Source
Access rules on each page determine if the curent user is permitted to perform certain functions. When setting a new rule, the available functions will be different depending on what functions are available on that page. Setting a rule for function.* will affect all functions of that type.
Below are some common functions.
- admin.* - All Admin functions
- admin:bar - display admin bar
- admin:bar:page - display "page admin" drop-down
- admin:bar:access - display "access admin" drop-down (you need this to see access rules)
- admin:bar:widget - display "widget manager" drop-down
- page / page view - View content page
- page.* - all other page functions, e.g. edit