GithubHelp home page GithubHelp logo

ribafs / admin-br Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 1.11 MB

Implementando ACL em aplicativos do CakePHP 3 usando Bootstrap com administração via interface web

Home Page: https://ribafs.github.io

License: MIT License

PHP 84.83% CSS 0.33% Twig 14.84%
php cakephp admin acl bootstrap validation bcrypt bake template css

admin-br's Introduction

ACL no CakePHP 3 com interface web

ALERTA

O Github me alertou que esta versão do CakePHP tem uma vulnerabilidade e não consegui atualizar para a versão 4. Agora irei arquivar este projeto:

"CakePHP before 4.0.6 mishandles CSRF token generation. This might be remotely exploitable in conjunction with XSS."

Testado

  • Com até a versão 3.7.9 do CakePHP
  • No Windows e no Linux
  • Com MySQL e com PostgreSQL

Este plugin continua o cake-acl-br

Novidade desta versão

Um ótimo gerenciador de arquivos, tinyFileManager. Após a instalação se encontrarão em vendor/ribafs/admin-br/copiar Encontra-se na pasta vendor/ribafs/admin-br/copiar. Mova tf.php e translation.json para a pasta webroot. Edite o tf.php e mude a linha 17 apra: define('CURRENT', '/'); Então acesse com

http://localhost/acl/tf.php

Antes de colocar em produção crie um login e senha apra você e remova o user admin. Crie o hash da senha aqui:

https://tinyfilemanager.github.io/docs/pwd.html

Use uma senha forte, bem forte, pois o arquivo está fora do ACL.

http://localhost/acl/tf.php

Instale em ambiente de testes inicialmente

Idealmente instale em um ambiente de testes para ter maior controle.

URL deste projeto

https://github.com/ribafs/admin-br/

Para um plugin sem o BootStrap indico:

https://github.com/ribafs/admin-default-br

Sobre este plugin

Este plugin inclue o Twitter Bootstrap e também inclui o plugin Bootstrap-UI e os templates do bake do plugin twbs-cake-plugin que nesta versão (1.19) mudei as tags do ASP para as do Twig. Aos autores dos mesmos fica aqui meu agradecimento.

Principais recursos

• Menu de topo com o element topmenu 
• Uso do framework Bootstrap
• Busca com paginação 
• Senhas criptografadas com Bcrypt 
• Controle de Acesso tipo ACL com administração web 
• Dois Layouts: admin e default com cor de fundo que os diferencia
• Datas formatadas como pt-br (veja em Customers)
• Tradução do template do Bake para pt-br. A partir da versão 1.15 usando twig para compatibilizar com o CakePHP 4
• Customização do bootstrap_cli adicionando os campos login e logout na geração do Bake
• Validação via frontend no login com pattern e minlenght, para exigir senha forte, com pelo menos 8 dígitos,     
uma maiúscula, uma minúscula e um símbolo. Também com recomendações para validação semelhante pelo CakePHP no    UsersTable.php

Com esta versão temos validação no login

Agora temos validação pelo frontend usando recursos do HTML5, pattern e minlenght e também pelo UsersTable.php

Notices

Com esta versão devemos ocultar os nitices disparados pelo bootstrap-UI.

Criação de aplicativo usando o admin-br com bastante detalhes

Abaixo um guia passo a passo e com boas informações para customizar aplicativos do CakePHP 3.

Guia de instalação para Windows

https://github.com/ribafs/admin-br/blob/master/README-windows.md

Guia de instalação para Linux

https://github.com/ribafs/admin-br/blob/master/README-linux.md

Alternativa para implantação de ACL em Aplicativos do CakePHP

A alternativa de plugin para uso no terminal/prompt é o uso do plugin oficial

https://github.com/cakephp/acl

Aqui abaixo um ótimo exemplo de uso do mesmo

https://github.com/mattmemmesheimer/cakephp-3-acl-example

Sugestões, colaborações, issues, pull requests e forks serão bem vindos:

  • Português
  • PHP
  • CakePHP
  • ControlComponent.php
  • Ou algo que queira me avisar...

License

The MIT License (MIT)

admin-br's People

Contributors

ribafs avatar

Stargazers

 avatar  avatar

Watchers

 avatar

admin-br's Issues

Criptografia de senha

CrAo criar rotina de alteração de senha utilizando:

$user['password']=(new DefaultPasswordHasher)->hash($user['password']);

não loga, criptografia incompatível com do sistema.
Qual a sintaxe correta?

Notice (8): Undefined index: ao inserir input checkbox

Ao inserir input type checkbox ocorre essa mensagem
Notice (8): Undefined index: input [ROOT\vendor\friendsofcake\bootstrap-ui\src\View\Helper\FormHelper.php, line 350]

Código do template:

<?= $this->Form->create($group) ?>
<fieldset>
    <legend><?= __('Add Group') ?></legend>
    <?php
        echo $this->Form->control('name');
        echo $this->Form->control('description', ['type' => 'checkbox']);
    ?>
<?= $this->Form->button(__('Enviar'), ['class' => 'btn-success']) ?>
</fieldset>
<?= $this->Form->end() ?>

Input checkbox

Notice (8): Undefined index: help na tela de login

Fiz a instalação do plugin pelo composer e está dando essas mensagens na tela de login:

Notice (8): Undefined index: help [ROOT\vendor\friendsofcake\bootstrap-ui\src\View\Helper\FormHelper.php, line 354]

Notice (8): Undefined index: help [ROOT\vendor\friendsofcake\bootstrap-ui\src\View\Helper\FormHelper.php, line 377]

Tela de login

Cake 4.0

Alguém trabalhando na migração para o Cake 4.0?

Versão integrada com tema Admin-LTE

Realizei algumas alterações no plugin e integrei com o tem Admin-LTE (https://github.com/maiconpinto/cakephp-adminlte-theme).

Foram feitas melhorias na interface de administração de usuários, mas ainda há muito trabalho a ser feito. Tenho pouco conhecimento de programação, portanto não criei o plugin independente, mas diponibilizei o sistema completo em http://www.agenciafm.com.br/cakeadmlte/cakeadmlte.rar
Agradeço ao Ribamar e Maicon Pinto pelos plugins.
sugestões e coloaboração serão bem vindas.

Jr Anésio

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.