PHPackages                             impulsephp/acl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. impulsephp/acl

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

impulsephp/acl
==============

Lightweight access control provider for ImpulsePHP with abilities, policies and middleware integration.

00PHP

Since Apr 11Pushed 1mo agoCompare

[ Source](https://github.com/ImpulsePHP/acl)[ Packagist](https://packagist.org/packages/impulsephp/acl)[ RSS](/packages/impulsephp-acl/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

ImpulsePHP ACL
==============

[](#impulsephp-acl)

`impulsephp/acl` fournit le contrôle d’accès applicatif d’ImpulsePHP. Le package reste volontairement simple : des abilities pour les accès globaux, des policies pour les objets métier, et un middleware pour protéger des zones de l’application sans réinventer le routeur.

Ce que fait le package
----------------------

[](#ce-que-fait-le-package)

- expose un service ACL avec `define()`, `policy()`, `can()`, `canFor()`, `cannot()`, `authorize()` et `authorizeFor()` ;
- résout automatiquement l’utilisateur courant si `impulsephp/auth` est présent ;
- protège des zones applicatives via un middleware basé sur la configuration ;
- délègue les checks sur objets métier à des classes de policy explicites ;
- fournit un trait léger pour consommer l’ACL depuis pages, composants ou services.

Installation
------------

[](#installation)

```
composer require impulsephp/acl
```

Le package déclare son provider via `extra.impulse-provider`. Si votre application ne gère pas l’auto-découverte, ajoutez `Impulse\Acl\AclProvider::class` dans `providers`.

Configuration dédiée
--------------------

[](#configuration-dédiée)

Le provider charge automatiquement un fichier dédié `config/acl.php` quand il existe dans l’application. Ce fichier peut retourner soit directement la config ACL, soit une clé racine `acl`.

```
