Authorize plugin
, (*1)
Plugin containing some authorize classes for AuthComponent., (*2)
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), (*3)
Requirements
Installation
[Manual], (*4)
- Download this: http://github.com/FriendsOfCake/Authorize/zipball/master
- Unzip that download.
- Copy the resulting folder to app/Plugin
- Rename the folder you just copied to Authorize
[GIT Submodule], (*5)
In your app directory type:, (*6)
git submodule add git://github.com/FriedsOfCake/Authorize.git Plugin/Authorize
git submodule init
git submodule update
[GIT Clone], (*7)
In your plugin directory type, (*8)
git clone git://github.com/FriendsOfCake/Authorize.git Authorize
Usage
In app/Config/bootstrap.php
add: CakePlugin::load('Authorize');
, (*9)
Configuration AclAuthorize:
Setup the authorize class, (*10)
Example:, (*11)
//in $components
public $components = array(
'Auth' => array(
'authorize' => array(
'Controller',
'Authorize.Acl' => array('actionPath' => 'Models/')
)
)
);
//Or in beforeFilter()
$this->Auth->authorize = array(
'Controller',
'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., (*12)
Configuration HabtmDbAcl:
Setup the HabtmDbAcl adapter, (*13)
in app/Config/core.php, (*14)
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., (*15)
//in $components
public $components = array(
'Acl' => array('habtm' => array(
'userModel' => 'Users.User',
'groupAlias' => 'Group'
)),
'Auth' => array(
//your Auth settings
)
);