MODULE · #72 RBAC
🔐

Droits utilisateurs (RBAC)

Gestion des rôles et permissions — 4 rôles standard (ADMIN, GESTION, CONSULT, COMPTA), middleware NestJS d'autorisation, matrice d'accès par module et journal d'audit.

4 rôlesMiddleware NestJSMatrice accèsJournal audit
4
Rôles standard
@Roles
Décorateur
RBAC
S59 livraison
Audit
Journal complet
01 Les 4 rôles standard

ADMIN, GESTION, CONSULT, COMPTA.

Les 4 rôles standard

RôleAccèsProfil type
ADMINAccès total + paramétrage + gestion utilisateursGérant / Owner
GESTIONMétier complet : clients, agenda, devis, factures (pas RBAC)Assistant / Secrétaire
CONSULTLecture seule sur tous les modules (pas de modification)Stagiaire / Auditeur
COMPTAComptabilité, FEC, notes de frais (pas de clients)Expert-comptable
02 Middleware NestJS

Décorateur @Roles() et RolesGuard.

Middleware NestJS

Toutes les routes protégées utilisent le décorateur @Roles() de NestJS :

@Roles('ADMIN', 'GESTION')
@Get('/api/clients')
async findAll() { ... }

Le RolesGuard vérifie le JWT et compare les rôles. Si l'utilisateur n'a pas un des rôles requis → 403 Forbidden.

03 Matrice d'accès

Personnalisation par module et utilisateur.

Matrice d'accès personnalisée

  • Par défaut chaque rôle a un set de permissions, mais c'est personnalisable
  • Paramètres → Utilisateurs → Matrice accès : tableau module × rôle
  • Cases à cocher : Lire / Écrire / Créer / Supprimer pour chaque module
  • Personnalisation possible par utilisateur (override matrice du rôle)
  • Journal d'audit : qui a modifié les permissions et quand
04 Audit et conformité

Traçabilité et bonnes pratiques.

S59 RBAC complet livré : 4 rôles standard + middleware permissions + matrice accès personnalisable. Tests E2E sur 144 scénarios x 3 navigateurs.
Audit RGPD : conservez le journal d'audit 12 mois minimum pour pouvoir investiguer en cas d'incident de sécurité.