User Roles & Permissions 👥
Laracloak follows a "Default Deny" security model. By default, a user has no access to any page or administrative function unless explicitly granted through their group memberships.
🛡️ "Default Deny" Principle
This model ensures maximum security:
- Strict Isolation: A newly created user sees an empty dashboard.
- Explicit Permissioning: Admins must manually assign users to groups that have access to specific pages.
- Minimalist Approach: Users only see what they need to do their job.
📂 Groups and Categories
Permissions are managed collectively through Groups.
Groups
A Group is a collection of users who share the same access level.
- Administrative Access: Grants access to the
/panelto manage users, groups, and pages. - Page Access: Defines which Forms or Dashboards the group can view or edit.
Categories
Categories are used to organize pages within the sidebar. Groups can be granted access to an entire category or to individual pages within it.
🔐 Permission Types
When assigning a Page or Category to a Group, you can choose between:
- View: The user can see the page and interact with its designated primary function (e.g., submit a form, view data).
- Edit: (Only for administrative users) Allows modifying the page configuration through the Visual Editor.
🛠️ Best Practices
- The "Least Privilege" Rule: Only grant the minimum permissions necessary for a user's role.
- Functional Groups: Create groups based on function (e.g., "Sales Team", "HR Managers") rather than naming them after individuals.
- Audit Logs: Use the system logs to monitor who accesses or modifies sensitive configurations.
