Zend Framework 2 module: DeitAuthorisationModule
This module is a simple reusable access control module which restricts access to
your controllers based on the user's role., (*1)
To restrict access to your controllers, add a new config entry in your module:, (*2)
'deit_authorisation' => array(
/**
* The service name of the unauthorised strategy
* @type string
*/
'strategy' => 'DeitAuthorisationModule\View\ViewStrategy',
/**
* The view template to display when the user is unauthorised
* @type string
*/
'template' => 'error/401',
/**
* The route to redirect to when the user is unauthorised
* @type string
*/
'route' => 'log-in',
/**
* The access control list
* @var array
*/
'acl' => array(
'roles' => array(
'guest',
'admin' => 'guest' //the admin role inherits guest permissions
),
'resources' => array(
'DeitAuthenticationModule\\Controller\\Authentication\\log-in',
'DeitAuthenticationModule\\Controller\\Authentication\\log-out',
'DeitAuthenticationModule\\Controller\\Authentication',
'DeitAuthenticationModule',
'Application',
),
'rules' => array(
'allow' => array(
'DeitAuthenticationModule\\Controller\\Authentication\\log-in' => 'guest', //restrict access to a specific action
'DeitAuthenticationModule\\Controller\\Authentication\\log-out' => 'admin' ,
//'DeitAuthenticationModule\\Controller\\Authentication' => 'admin', //restrict access to a specific controller
'Application' => 'admin', //restrict access to a specific module
),
),
),
/**
* The default role used when no authenticated identity is present or the identity's role can't be discovered
* @var string
*/
'default_role' => 'guest',
/**
* The role resolver used to discover the role of an identity when preset
* @var callable
*/
'role_resolver' => function($identity) {
if ($identity) { //this will be different if you have multiple roles which your authenticated users can be
return 'admin';
} else {
return 'guest';
}
},
),