como montar um acl com Laravel

PerguntasCategoria: Laravelcomo montar um acl com Laravel

preciso de uma ideia de como montar um acl, a aplicação contem 3 tipos de usuários, Administrador, Professor e Recepcionista. Eu defini um campo do tipo enum na tabela User, e com as abreviações das respectivas funções citadas acima, A, P, R. Como template estou usando o AdminLte. Não estou conseguindo esconder os menus que não são pertinente ao determinado User logado. Alguém tem alguma dica, ideias? obrigado.

3 Respostas
Melhor resposta

Olha para TCC usa o do spatie msm… Ou o padrão gates do próprio laravel. Agora para minha aplicação eu fiz em três níveis, um super usurário, outro por grupos e outro por usuário… Aí o administrador define os grupos e, para alguns funcionários em específico, ele também pode dar mais permissões personalizadas. Mas isso deu um belo de um trabalho.

Precisei fazer algo assim só que o sistema precisava ser dinâmico, podendo inserir níveis superiores aos existentes e vice-versa e níveis superiores poderiam ver o que os níveis inferiores estavam fazendo. Fiz criando uma tabela de níveis e uma tabela onde eu digo quem é pai e quem é filho, fiz também uma tabela de módulos, e uma outra tabela dizendo qual nível pode acessar aquele modulo e dessa forma eu consigo controlar dinamicamente os níveis e os acessos aos módulos.

Minha dica é: não monte uma aplicação baseada em “papéis”, tais como Administrador, Professor… Crie regras de acesso e escolha quais regras o usuário pode ter acesso, indiferente do tipo dele.