friendsofcake / authorize
CakePHP plugin with authorization classes for AuthComponent.
Installs: 71
Dependents: 0
Suggesters: 0
Security: 0
Stars: 23
Watchers: 7
Forks: 7
Open Issues: 1
Type:cakephp-plugin
Requires
- php: >=5.3.0
- composer/installers: *
This package is auto-updated.
Last update: 2020-09-13 01:44:13 UTC
README
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)
Requirements
- PHP 5.2.8
- CakePHP 2.x
Installation
[Manual]
- 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]
In your app directory type:
git submodule add git://github.com/FriedsOfCake/Authorize.git Plugin/Authorize
git submodule init
git submodule update
[GIT Clone]
In your plugin directory type
git clone git://github.com/FriendsOfCake/Authorize.git Authorize
Usage
In app/Config/bootstrap.php
add: CakePlugin::load('Authorize');
Configuration AclAuthorize:
Setup the authorize class
Example:
//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.
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 ) );