PHPackages                             fasterdot/symfony-permission-manager - 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. fasterdot/symfony-permission-manager

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

fasterdot/symfony-permission-manager
====================================

A Symfony Composer package for flexible and robust permission management.

v0.4.1(5mo ago)065MITPHPPHP &gt;=8.1

Since Jul 13Pushed 5mo agoCompare

[ Source](https://github.com/fasterdot/symfony-permission-manager)[ Packagist](https://packagist.org/packages/fasterdot/symfony-permission-manager)[ RSS](/packages/fasterdot-symfony-permission-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (15)Used By (0)

Symfony Permission Manager
==========================

[](#symfony-permission-manager)

Le package **Symfony Permission Manager** est une solution Composer conçue pour offrir une gestion **flexible et robuste des permissions et des accès** au sein de vos applications Symfony. Il centralise la **définition, l'attribution et la vérification des permissions**, permettant un **contrôle d'accès granulaire** basé sur les rôles ou des critères plus complexes.

Caractéristiques principales
----------------------------

[](#caractéristiques-principales)

- **Architecture DDD** : Conçu selon les principes du Domain-Driven Design pour une meilleure maintenabilité
- **Interfaces du domaine** : Découplage complet via des interfaces pour une intégration flexible
- **Logique AND/OR** : Support des deux modes de vérification - OR (au moins une permission) ou AND (toutes les permissions)
- **Permissions contextuelles** : Support des permissions basées sur un contexte (subject) pour des règles métier avancées
- **Définition de Permissions** : Créez et structurez des permissions personnalisées pour répondre aux besoins spécifiques de votre application
- **Attribution Flexible** : Attribuez facilement des permissions aux utilisateurs ou aux rôles, avec des options pour des permissions directes ou héritées
- **Vérification Simplifiée** : Vérifiez aisément si un utilisateur possède une permission donnée, que ce soit dans vos contrôleurs, services ou templates Twig
- **Intégration Symfony** : S'intègre naturellement avec le système de sécurité de Symfony, exploitant ses mécanismes existants pour une compatibilité optimale
- **Configuration personnalisable** : Messages d'erreur et options de cache configurables
- **Extensible** : Conçu pour être facilement extensible, il permet aux développeurs d'ajouter des logiques de permission personnalisées ou de s'intégrer à d'autres systèmes

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

[](#installation)

```
composer require fasterdot/symfony-permission-manager
```

Configuration
-------------

[](#configuration)

Créez le fichier `config/packages/fasterdot_symfony_permission_manager.yaml` :

```
fasterdot_symfony_permission_manager:
    error_message: 'Accès refusé : permissions insuffisantes.'
    enable_cache: false
```

Guide de démarrage rapide
-------------------------

[](#guide-de-démarrage-rapide)

### Étape 1 : Implémenter les interfaces du domaine

[](#étape-1--implémenter-les-interfaces-du-domaine)

Vos entités doivent implémenter les interfaces du domaine pour être compatibles avec le package.

#### Entité User

[](#entité-user)

```
