Access Control List (ACL) Management
GeniXCMS 2.0.0 features a robust, fine-grained Access Control List (ACL) that allows you to define exactly what each user group can see and do within the administration dashboard.
🧭 Group-Based Permissions
The ACL system is built around the 7 core system groups, though individual access levels can be specified for more granular control.
| System Group |
Access Level |
Description |
| Administrator |
0 |
Full access to every core and module feature. |
| Supervisor |
1 |
Has site-wide management permissions. |
| Editor |
2 |
Manages content and user interactions. |
| Author |
3 |
Focused on content creation. |
| Contributor |
4 |
Can submit content for review. |
| VIP Member |
5 |
Premium subscriber level. |
| General Member |
6 |
Basic frontend interaction and profile. |
🏗️ Modifying Permissions (ACL Matrix)
To fine-tune permissions for your site's human resources:
- Navigate to Admin > Users > ACL Manager.
- The ACL Matrix will display a grid of all registered permission hooks (e.g.,
POST_ADD, THEME_ACTIVATE, SETTINGS_EDIT).
- Configuring: Use the dropdowns to set the Minimum Access Level required for each permission.
- Save: Click Update Permissions to apply the new security rules across the application.
🏹 Built-in Security Hooks
GeniXCMS registers several dozen security hooks by default.
- Post Management:
POST_ADD, POST_EDIT, POST_DELETE.
- System Admin:
SETTINGS_EDIT, THEME_ACTIVATE, MODULE_INSTALL.
- User Governance:
USER_ADD, USER_EDIT, ACL_EDIT.
🔌 Modules & Custom ACLs
Third-party modules can safely register their own custom permissions to the matrix.
- Developer Hook: To register a new permission, use
Acl::register('MOD_MYPERMISSION', 'Description'); in your module's constructor.
- Check Access: Always call
if (Acl::check('MOD_MYPERMISSION')) before executing any sensitive logic in your code.
warningCautionPrivilege Escalation: Be extremely careful when lowering the requirements for ACL_EDIT. Only Level 0 (Administrator) accounts should typically have the capability to modify the ACL matrix.
lightbulbTipAudit Tip: Regularly audit your ACL matrix to ensure that no lower-level group has gained access to sensitive system commands during a new module installation.