felipepanegalli/authenticator-cakephp-3

Authenticator plugin for CakePHP

dev-master 2018-01-09 21:17 UTC

This package is not auto-updated.

Last update: 2024-05-23 15:08:43 UTC


README

Instalação

Plugin desenvolvido por Felipe Panegalli

http://panegalli.esy.es/

Para instalar esse pacote, baixe o composer e execute o seguinte comando para instalação:

composer require felipepanegalli/authenticator-cakephp-3:dev-master

Após o download, deve-se ativar o plugin no final do arquivo bootstrap em config/bootstrap.php

Plugin::load('Authenticator', ['bootstrap' => false, 'routes' => true]);

Primeiramente deve-se gerar o banco com o comando:

bin/cake migrations migrate --plugin=Authenticator

Logo após, gerar os Seeds com o comando

bin/cake migrations seed --plugin=Authenticator

Quando é gerado o Seed do plugins, são adicionados dois registros de usuário ao banco, o admin e user, para ambos, a senha é o mesmo que o username ou seja, o admin é admin e o user é user.

Após ativado o plugins, nenhum controller irá permitir o acesso, para isso basta adicionar a seguinte função nos controller que deseja controllar o acesso:

public function isAuthorized($user)
{
   //Verifica qual é a action
   $action = $this->request->getParam('action');
   //Carrega o Model de Regras
   $this->loadModel('Authenticator.AuthRoles');
   //Carrega a ragra baseado na role_id do usuário
   $role = $this->Roles->find()->where(['id' => $this->Auth->user('role_id')])->first();

   //Verifica se o usuário é administrador e está nas actions do array, permite o acesso das actions inclusas
   if (strtolower($role['title']) == 'administrator' and in_array($action, ['index', 'view', 'add', 'edit', 'delete'])) {
       return true;

   //Verifica se o usuário é usuario e está nas actions do array, permite o acesso das actions inclusas
   } elseif (strtolower($role['title']) == 'user' and in_array($action, ['index', 'view'])) {
       return true;

   //Se nenhuma das condições foram True, nega o acesso
   } else {
       return false;
   }

   //Aqui vai alguma validação caso necessário...
}

Se for necessário fazer alguma alteração de model para acesso ao usuário, verifica a pasta raiz do plugin em /vendor/felipepanegalli/authenticator-cakephp-3/src/Controller/AppController.php

Para acessar o login basta entrar no endereço site.com.br/login ou no localhost localhost:8765/login

Qualquer dúvida pode ser enviado na aba de contato no site acima.