dev-master
9999999-devAuthenticator plugin for CakePHP
MIT
The Requires
The Development Requires
Authenticator plugin for CakePHP
Para instalar esse pacote, baixe o composer e execute o seguinte comando para instalação:, (*1)
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
, (*2)
Plugin::load('Authenticator', ['bootstrap' => false, 'routes' => true]);
Primeiramente deve-se gerar o banco com o comando:, (*3)
bin/cake migrations migrate --plugin=Authenticator
Logo após, gerar os Seeds com o comando, (*4)
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., (*5)
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:, (*6)
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
, (*7)
Para acessar o login basta entrar no endereço site.com.br/login
ou no localhost localhost:8765/login
, (*8)
Qualquer dúvida pode ser enviado na aba de contato no site acima., (*9)
Authenticator plugin for CakePHP
MIT