ppiixx / cake-authorizer
An nice authorizer for CakePHP v3.0
Installs: 113
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=5.4.16
- cakephp/cakephp: ~3.0
- rappasoft/laravel-helpers: dev-master
Requires (Dev)
This package is not auto-updated.
Last update: 2015-11-29 05:23:00 UTC
README
Introduction
Our first plugin developed to assist in the authorization of users through a relationship between tools and groups
Installation
Require the package:
composer require ppiixx/authorizer
Run the following commands:
bin/cake plugin load -r
bin/cake migrations migrate -p
bin/cake seed_cake_authorizer
Sample of Auth configuration
// AppController.php
public function initialize()
{
.
.
.
$this->loadComponent('Auth', [
'authorize' => ['.Cake'],
'loginAction' => [
'controller' => 'Users',
'action' => 'login',
'plugin' => ''
],
'loginRedirect' => [
'controller' => 'Users',
'action' => 'index',
'plugin' => ''
]
]);
}
Don't forget to configure the Email in app.php
Component
Load the Authorizer Component to return all the use's tools
$this->loadComponent('.Authorizer');
// Sample of use
$tools = $this->Authorizer->userTools($this->Auth->user('id'));
Custom config
If you want to customize the default config, add this method to your AppController.php
protected function customConfig()
{
// $controller = $this->request->param('controller') . '/' . $this->request->param('action');
// if($controller == 'Users/login' || $controller == 'Users/forgot' || $controller == 'Users/recover')
// $this->layout = 'login';
// $this->set('menu', $this->Menu->userMenu($this->Auth->user('id')));
}
Permissions
The tools table have special permissions, when you add a value of
*/*
To a tool, the user have access to all the application routes
And when you add a value of
YourController/*
To a tool, the user have access to all the controller methods
Urls
You can access the users panel at:
- http://your-domain.dev/cake_authorizer/users
- http://your-domain.dev/cake_authorizer/users/login
- http://your-domain.dev/cake_authorizer/users/logout
- http://your-domain.dev/cake_authorizer/users/forgot
- http://your-domain.dev/cake_authorizer/users/recover/{token}
Sample of Url::
<?=
$this->Url->build([
"controller" => "Users",
"action" => "login",
"plugin" => ""
])
?>