opportus / authorizer
Provides a simple yet powerful authorization system
Requires
- php: ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.19
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2025-02-07 04:24:44 UTC
README
Index
Introduction
This library provides a generic and standardizable authorization system.
Roadmap
To develop this solution faster, contributions are welcome...
v1.1:
- Implement property chain access support
- Implement multiple condition authorization support
- Implement multiple comparison operators support
- Implement higher test coverage
Integrations
- {{ reference_here_your_own_integration }}
Setup
Step 1 - Installation
Open a command console, enter your project directory and execute:
$ composer require opportus/authorizer
Step 2 - Initialization
This library contains 4 services. 3 of them require a single dependency which is another lower level service among those 4:
use Opportus\Authorizer\Authorizer; use Opportus\Authorizer\ObjectPropertyAccessor\ObjectPropertyAccessor; $objectPropertyAccessor = new ObjectPropertyAccessor(); $authorizer = new Authorizer($objectPropertyAccessor);
In order for the authorizer to get properly initialized, each of its services it depends on must be instantiated such as above.
By design, this solution does not provide "helpers" for the instantiation of its own services which is much better handled the way you're already instantiating your own services, with a DIC system or whatever.
Authorization
Concept
An authorization is a use case assigned to an actor of your system.
An authorization is composed of:
- an operation
- (on) a resource
- (under) an optional condition
Example Use Cases
...