Sécurité - Voter¶
Dans le premier TP consacré à la sécurité, nous avons mis en place des règles d'autorisation simples via les rôles et les attributs. Nous allons maintenant aller plus loin en autorisant la modification et la suppression d'une citation uniquement à l'utilisateur l'ayant créée.
1. Notion d'auteur¶
Avant de pouvoir mettre en place cette nouvelle règle métier, il est nécessaire d'ajouter la notion d'auteur de la citation.
Travail à réaliser
- Ajouter la notion d'auteur (utilisateur qui a créé la citation) sous la forme d'une relation Doctrine entre l'entité
Quoteet l'entitéUser. Une citation doit obligatoirement avoir un auteur. - Afin de pouvoir affecter automatiquement l'utilisateur authentifié en tant qu'auteur d'une nouvelle citation,
nous allons utiliser le bundle StofDoctrineExtensionsBundle
et plus particulièrement la fonctionnalité
Blameable:- installer le bundle
- activer l'extension
Blameableau niveau de la configuration du bundle.
- Toujours en suivant la documentation,
ajouter l'annotation
Blameablesur la propriétéauthorde l'entitéQuoteafin que l'auteur soit mis à jour à la création de la citation. - Afficher l'auteur de la citation à chaque affichage d'une citation.
2. Voter¶
Objectifs :
- restreindre la modification et la suppression d'une citation à son auteur
- les administrateurs peuvent modifier/supprimer les citations de tout le monde
Travail à réaliser
- Créer le
Votercorrespondant aux règles ci-dessus - Utiliser le
Voterpour restreindre l'accès aux actions et cacher les éléments d'interface correspondants (boutons, liens, etc) - Corriger les tests fonctionnels (si nécessaire)
Ressources :
Dernière mise à jour:
February 27, 2023