Foi necessário muita pesquisa, estudo e testes para criar este aplicativo. O pacote mais popularar da web em termos de ACL é o Permission do Spatie. Experimentei diversos tutoriais e exemplos com ele mas sem sucesso.
Um detalhe importante é que esta solução é inteiramente gráfica. Todo o gerenciamento é feito pela web, das roles, dos users, das permissions, etc. O que torna o seu uso mais prático e fácil.
https://laravel.ribamar.net.br/
Há algum tempo eu criei este pacote
https://github.com/ribafs/laravel-acl
Gostei muito do resultado. Mas quando fui customizar, especialmente o seeder percebi que estava trabalhoso de customizar. Então resolvi criar um aplicativo e está aqui.
Após criar o pacote acima criei também:
https://github.com/ribafs/laravel7-acl
https://github.com/ribafs/laravel6-acl
https://github.com/ribafs/laravel58-acl
https://github.com/ribafs/laravel-acl-exist
Continuo pretendendo criar um novo pacote, mas agora mais flexível.
A intenção agora é a de entregar uma solução mais flexível e menos trabalhosa de ser customizada.
Até mesmo um usuário iniciante de laravel pode instalar e usar, pois contém a base do ACL.
Mas para entender e customizar requer pelo menos usuário intermediário.
A estrutura básica deste aplicativo está pronta para uso. Basta que remova os CRUDs clients e/ou products. A estrutura básica é formada por roles, users e permissions. Com ela basta adicionar o que deseja.