Skip to content
This repository has been archived by the owner on May 29, 2020. It is now read-only.
/ Authorize Public archive

CakePHP2: Authorize classes for AuthComponent

License

Notifications You must be signed in to change notification settings

FriendsOfCake/Authorize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Authorize plugin

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)

Requirements

  • PHP 5.2.8
  • CakePHP 2.x

Installation

[Manual]

[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
        )
    );