Download the PHP package riddlestone/brokkr-acl without Composer
On this page you can find all versions of the php package riddlestone/brokkr-acl. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download riddlestone/brokkr-acl
More information about riddlestone/brokkr-acl
Files in riddlestone/brokkr-acl
Package brokkr-acl
Short Description A delegating Laminas ACL module
License BSD-3-Clause
Informations about the package brokkr-acl
Riddlestone Brokkr-Acl
A Laminas module to enable selectively populating Laminas ACL at query time
Sometimes your project has a LOT of roles, resources and rules. This module has plugin managers for those things, and only requests and loads into the ACL the minimum objects needed to answer a query.
Installation
Installation of this module uses composer. For composer documentation, please refer to getcomposer.org.
Usage
This module adds four plugin managers, your module/project can provide configuration to any of these.
RoleManager
To provide roles for the ACL, implement Laminas\ServiceManager\FactoryInterface
, and then add your class to the
acl_role_manager
config:
When the ACL requires a role, your factory will be asked if it can provide it.
RoleRelationshipManager
To allow projects and modules to define the relationship between roles, the role relationship manager gathers information about the parents of a given role.
To provide parentage information about roles, implement RoleRelationshipProviderInterface
, and register the class as a
provider in the acl_role_relationship_manager
config:
Specifying the providers separately from the factories which produce them allow us to use providers which are created through abstract factories, or otherwise injected into the plugin manager.
ResourceManager
To provide resources for the ACL, implement Laminas\ServiceManager\FactoryInterface
, and then add your class to the
acl_resource_manager
config:
When the ACL requires a resource, your factory will be asked if it can provide it.
RuleManager
To allow projects and modules to specify permissions, the rule manager gathers information about which rules apply to given roles and resources.
To provide rules, implement RuleProviderInterface
, and register the class as a provider in the
acl_rule_manager
config:
Specifying the providers separately from the factories which produce them allow us to use providers which are created through abstract factories, or otherwise injected into the plugin manager.
Querying the ACL
Once all the managers are configured, you can query the ACL by pulling it from the ServiceManager, and calling
isAllowed()
:
All versions of brokkr-acl with dependencies
laminas/laminas-permissions-acl Version ^2.7
laminas/laminas-servicemanager Version ^3.4
container-interop/container-interop Version ^1.2