Olá,
Estou reestruturando meu framework base em PHP chamado PRPBase, e para começar modelei todo a parte de segurança que é utilizada e adicionei/exclui informações para deixar o sistema mais seguro e com o banco mais otimizado.
Então para resumir é basicamente assim:
1 – Cada parte do sistema é adicionado na tabela Sistemas (site/administrativo).
2 – Os Usuários são cadastrados pertencendo aos seus respectivos Grupos, por padrão já existe um Usuário cadastrado no Grupo Administradores.
3 – São criados os Grupos que existirão no sistema.
4 – São criados os módulos através do gerador automático ou no caso de um site, poderá ser adicionado pelo cadastro de Permissões, pois para cada módulo gerado, também é gerado um Menu e as Permissões para este módulo.
5 – São associados os Usuários com os Grupos e assim cada Usuário que entrar no sistema só terá acesso à aquilo que o(s) Grupo(s) dele tiver acesso/permissão.
6 – Para cada modelo gerado, é altamente recomendado colocar a chamada para persistência do Log das ações que o usuário está fazendo no sistema. Para cada módulo gerado automaticamente, isso também já é criado.

Obs: Como a imagem acima é muito grande, clique com o botão direito e salve a imagem em disco. Para quem usa o belíssimo Firefox, basta clicar com botão direito e depois clicar em Exibir Imagem.





