I am building an Intranet using PHP, either Laravel or Symfony, most likely will be using Laravel. I am looking for a tool/plugin that can handle the following scenario:
Example, I have 4 types of Dashboard based on departments: CEO, HR department, IT department & Finance department. Menu/Dashboard will be customized based on their department, then by roles & groups.
- IT's reports - Report A, Report B
- HR's reports - Report C, Report D
- Finance's Reports - Report E, Report F.
- HR manager can access Reports A, C & D, but cant access Finance reports.
- HR executive can only access Report D, but cant access Finance reports.
- IT manager can access Reports A, B & C, but cant access Finance reports.
- IT executive can access Reports B & C, but cant access Finance reports.
- Finance manager can access Report E & F.
- Finance executive can access Report F only.
- CEO can access all reports.
Others features also controlled by roles & groups, like export, edit, create reports, show only my department data(good to have) & etc.
I am checking bouncer & spatie. But they seems like RBAC rather than ABAC. Bouncer seems can be done more tasks than Spatie. And both with 3rd party UI. Looking at Casbin as well.
Any other good suggestions?