dev-master
9999999-devAuthenticator plugin for CakePHP
MIT
The Requires
The Development Requires
Wallogit.com
2017 © Pedro Peláez
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