CakePHP plugin with authorization classes for AuthComponent.

Installs: 43

Dependents: 0

Stars: 23

Watchers: 8

Forks: 6

Open Issues: 1

Language: PHP

1.0.0 2013-09-16 20:17 UTC


Build Status Coverage Status

Plugin containing some authorize classes for AuthComponent.

Current classes:

  • AclAuthorize, row based Acl. AuthComponent adapter, to use together with AclBehavior created acos
  • HabtmDbAcl. AclComponent adapter, for User habtm Group Acl. (for database acl only)


  • PHP 5.2.8
  • CakePHP 2.x



[GIT Submodule]

In your app directory type:

git submodule add git:// Plugin/Authorize
git submodule init
git submodule update

[GIT Clone]

In your plugin directory type

git clone git:// Authorize


In app/Config/bootstrap.php add: CakePlugin::load('Authorize');

Configuration AclAuthorize:

Setup the authorize class


    //in $components
    public $components = array(
        'Auth' => array(
            'authorize' => array(
                'Authorize.Acl' => array('actionPath' => 'Models/')
    //Or in beforeFilter()
    $this->Auth->authorize = array(
        'Authorize.Acl' => array('actionPath' => 'Models/')

In the above example ControllerAuthorize is checked first. If your Controller::isAuthorized() returns true on admin routing, AclAuthorize will only be checked for non-admin urls. Also you need to set actionPath in a similar way which is used with Actions- and CrudAuthorize.

Configuration HabtmDbAcl:

Setup the HabtmDbAcl adapter

in app/Config/core.php

Configure::write('Acl.classname', 'Authorize.HabtmDbAcl');

Make sure if you need to alter settings for HabtmDbAcl, you pass those to AclComponent $settings['habtm'], and have it loaded before any Auth configuration.

    //in $components
    public $components = array(
        'Acl' => array('habtm' => array(
            'userModel' => 'Users.User',
            'groupAlias' => 'Group'
        'Auth' => array(
            //your Auth settings