Roles are used to group permissions. When a user has a role, then the user will have all permissions of that role.
A role-based access control (RBAC) system is a security model where roles are used to manage permissions across an organization. Here's an elaboration on the feature you mentioned:
Concept of Roles: In RBAC, a "role" is a collection of permissions that define what actions a user can perform within a system. Roles are typically designed to align with job functions or responsibilities within an organization. For example, you might have roles such as "Administrator," "Editor," or "Viewer."
Grouping Permissions: Each role consists of a set of permissions that grant access to specific resources or allow the execution of certain actions. Permissions are granular and could include capabilities like "edit documents," "view financial reports," "delete records," etc. By grouping these permissions into roles, you can easily manage access controls.
For example:
Assignment of Roles to Users: When a user is assigned a role, they automatically inherit all the permissions associated with that role. This means that the user's actions within the system are dictated by the permissions attached to their assigned role(s).
For example:
Benefits:
Imagine a company with a content management system (CMS). They might define roles such as:
By assigning these roles to users, the company ensures that each user has the appropriate level of access based on their job responsibilities, thereby maintaining security and efficiency.
To manage roles navigate to Admin \ Roles.
Roles can be dynamic or static:
One or more roles can be set as Default. Default roles are assigned to newly added/registered users by default.
Since roles are used to group permissions, we can set permissions of a role while editing the role.
Click dropdown next to the role and select Edit
Navigate to App Permissions section to see all app permissions. One that assigned to this role will have checkbox next to it.
Select permissions you want to assign to the role and click Save.
Note: you will need to reload the application to see permissions changes for your own role.