Because every organization has different needs, you should adapt your design while designing and building a dynamic and flexible user management system.
Role Based Access Control (RBAC) is a common approach. In this model, users are assigned roles, and the roles have corresponding permissions. As a result, instead of granting permissions directly to users, permissions are granted to roles. Users who are allocated to a role inherit the permissions associated with that role.
Role hierarchies can be used to improve efficiency and scalability. Higher-level roles in a role hierarchy inherit permissions from lower-level ones. As a result, when a modification is made to a higher-level position, it is propagated to all lower-level roles.
Role-based access control
Designing permissions for a SaaS app
Demystifying Role-Based Access Control (RBAC) Pattern: A Comprehensive Guide