Aller au contenu principal

Autorisation

Statut

Document de cadrage backend — version initiale.

Rôle

L'autorisation décide si un utilisateur authentifié peut effectuer une action.

Elle doit rester côté backend et ne pas être déléguée aux frontends.

État actuel visible

Le projet contient :

  • policies sur plusieurs modules ;
  • middleware ensure.admin ;
  • middleware asso.access ;
  • middleware mairie.access ;
  • middleware device.token pour PlayLoop ;
  • vérifications d'ownership, notamment via user_acteurs ;
  • routes protégées par auth:sanctum.

Niveaux d'autorisation

NiveauExemple
AuthentifiéAccès à /auth/me, actions utilisateur.
AdministrateurRoutes admin, settings sensibles.
Propriétaire d'acteurGestion d'un acteur ou de ses documents.
MairieGestion alertes, services et publications mairie.
AssociationGestion membres, cotisations, projets AssoSuite.
DeviceLecture playlist PlayLoop via token device.

Policies

Les policies doivent être utilisées pour les décisions liées à un modèle :

  • modifier un acteur ;
  • supprimer un contenu ;
  • gérer des documents ;
  • modérer une publication ;
  • accéder à une ressource appartenant à un acteur.

Middlewares

Les middlewares conviennent aux vérifications transverses :

  • utilisateur authentifié ;
  • source applicative ;
  • rôle admin ;
  • accès mairie ;
  • accès association ;
  • token device.

Principes

  • Refuser par défaut si le droit n'est pas clair.
  • Vérifier côté backend à chaque mutation.
  • Ne pas exposer une action frontend si elle sera refusée, mais ne pas s'y fier.
  • Renvoyer des erreurs cohérentes : 401, 403, 422.
  • Garder les règles sensibles testées.

Points à clarifier

  • Matrice complète des droits par module.
  • Autorisations entre applications.
  • Règles exactes de modération locale.
  • Droits premium vs droits métier.
  • Droits IA et quotas associés.