Plugin com controle de acesso e outros bons recursos para CakePHP 3

In English

Este plugin está hospedado nos repositórios:

Github - https://github.com/ribafs/cake-control
Packagist - https://packagist.org/packages/ribafs/cake-control

Licença Último Estável Tamanho do Download

Inclui os plugins lessjs e less.php e permite que você facilmente crie aplicativos em CakePHP 3 com (Twitter) Bootstrap.

Alerta aos usuários do Windows - A única adaptação para funcionar no Windows é trocar a barra (/) pela contra barra (\) especialmente nos comandos bin/cake.
Alguns Recursos

  • Internacionalização
  • Element topmenu
  • Busca por vários campos e com paginação
  • Cripografia de senhas com Bcrypt
  • Controle de acesso com o componente Control
  • Parsers less
  • LessHelper
  • Template Bake
  • Layout default com Bootstrap
  • Utilitários do plugin BootstrapUI
  • etc

Motivações

Para ler minhas motivações para criar este plugin clique aqui.

Instalação

Crie um novo aplicativo com o cakephp 3 usando o composer:

composer create-project --prefer-dist cakephp/app control1

Para instalar o plugin cake-control, execute:

cd control1
composer require ribafs/cake-control

Para Habilitar o plugin

Execute

bin/cake plugin load CakeControl --bootstrap

Isso carregará os plugins Less e BootstrapUI

Download do Plugin

https://github.com/ribafs/cake-control/archive/master.zip

Descompacte e abra o subdiretório docs.

No Linux Mint eu abro o gerenciador de arquivos default (nemo), teclo F3 para dividir a janela em 2 paineis e na esquerda abro o docs do plugin e na direita abro o diretório do aplicativo control1.

Assim fica mais prático. Para copiar apenas arrasto da esquerda para a direita.

Copiar o AppController1.php

Ele já vem pré-configurado

Copie da pasta docs para a pasta contro1/src/Controller

Copie o docs/AppController1.php para control1/src/Controller. Delete o control1/src/Controller/AppController.php renomeie AppController1.php para  AppController.php

Criar banco e configurar.

Agora nosso plugin está independente de SGBD, pois adicionei migrations para a criação das tabelas e registros.

IMPORTANTE: Sempre que for criar um aplicativo pra valer e usar o plugin, leve as tabelas users, groups e permissions.

Configure o banco em config/app.php, na seção Datasources. Basicamente altere usernema, password e databse e mais caso necessário

Configure também o config/routes.php para o controller Groups e action index(). Altere a linha 52 para que fique assim:
    $routes->connect('/', ['controller' => 'Groups', 'action' => 'index']);

Executando os Migrations

Apenas crie um banco limp e execute o migrations para criar as tabelas e popular as mesmas com registros:

bin/cake migrations migrate -p CakeControl

Caso apareçam alguns Warning, esqueça. Veja no banco que gerou as tabelas e populou com registros corretamente.

O migrations criará as tabelas:

groups, users, permissions e customers.

E populará com registros apenas groups (com 4 grupos: Supers, Admins, Managers e Users) e customers.

Permissions será populado após a implementação da autenticação, no primeiro login.

Gerando o código com Bake para o template padrão do CakePHP 3

bin/cake bake all Groups --theme CakeControl
bin/cake bake all Users --theme CakeControl
bin/cake bake all Permissions --theme CakeControl
bin/cake bake all Customers --theme CakeControl

 

Acesse pela web

http://localhost/control1

Veja que já contamos com muitos bons recursos que vieram embutidos no template do Bake.
Mas siga emfrente com o tutorial para implementar mais outros bons recursos.

Veja como ficou aqui:

 

Implementando o Controle de Acesso e outros Recursos

Veja no diretório docs outros recursos.

Clique no link abaixo para implementar os demais recursos:
http://ribafs.org/portal/cakephp/plugins/cake-control/recursos-extras

Também pode gerar suas views usando BootstrapUI's bake templates.


License

The MIT License (MIT)


Fork

Este plugin é um fork do plugin https://github.com/elboletaire/twbs-cake-plugin do Òscar Casajuana (a.k.a. elboletaire).

Sou muito grato a todos que compartilham seus conhecimentos e permitem que solucionamos nossos problemas e venhamos a melhorar nossas vidas.

Especialmente gostaria de agradecer ao Òscar Casajuana, por compartilhar seu excelente trabalho sobre o qual criei este.

Ribamar FS, Fortaleza - Brasil, 19/09/2016