Authorization adapters

You can configure the authorization adapter to use via your service container configuration. Specifically, you can either map the service name Mezzio\Authorization\AuthorizationInterface to a factory, or alias it to the appropriate service.

For instance, using Mezzio container configuration, you could select the mezzio-authorization-acl adapter in either of the following ways:

  • Using an alias: ```php use Mezzio\Authorization\AuthorizationInterface; use Mezzio\Authorization\Acl\LaminasAcl;

return [ 'dependencies' => [ // Using an alias: 'aliases' => [ AuthorizationInterface::class => LaminasAcl::class, ], ], ]; ```

  • Mapping to a factory: ```php use Mezzio\Authorization\AuthorizationInterface; use Mezzio\Authorization\Acl\LaminasAclFactory;

return [ 'dependencies' => [ // Using a factory: 'factories' => [ AuthorizationInterface::class => LaminasAclFactory::class, ], ], ]; ```

We provide two different adapters.

Each adapter is installable via Composer:

$ composer require mezzio/mezzio-authorization-rbac
# or
$ composer require mezzio/mezzio-authorization-acl

In each adapter, we use the route name as the resource. This means you can specify if a role is authorized to access a specific HTTP route. However, this is just one approach to implementing an authorization system; you can create your own system by implementing the AuthorizationInterface.

For more information on the adapters, please read the RBAC documentation and the ACL documentation.

Found a mistake or want to contribute to the documentation? Edit this page on GitHub!