ppiixx/cake-authorizer

This package is abandoned and no longer maintained. No replacement package was suggested.

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

1.0.3 2015-07-21 17:34 UTC

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:

Sample of Url::

<?= 
  $this->Url->build([
      "controller"  => "Users", 
      "action"      => "login", 
      "plugin"      => ""
  ]) 
?>