Chapitre 4 du parcours Symfony pour les devs PHP
Les clés de la taverne
6 exercices · 1 290 XP · environ 3 h 30
Pare-feuform_loginaccess_controlUserInterfaceProvider entityHachagerole_hierarchyIsGrantedis_granted()VoterIsGranted avec sujetCurrentUserUserPasswordRepeatedTypeDébogageHiérarchie des rôles
Les exercices du chapitre
-
Qui va là ?
Exercice 1 · 200 XP · 5 objectifs vérifiés par des tests
Scandale à la taverne : un client a découvert la page /cuisine/nouveau-plat et ajouté à la carte un « Ragoût de Pipin, gratuit ». La cuisine doit être fermée au public : seule Bruna y entre.
Pare-feuform_loginaccess_control
-
Le registre des employés
Exercice 2 · 200 XP · 5 objectifs vérifiés par des tests
Bruna ne travaille plus seule : Gorm veut entrer en cuisine lui aussi, et il a embauché Pipin (au service). Déclarer chaque employé dans security.yaml, et redéployer à chaque embauche ? Impensable. Les comptes vont vivre en base.
UserInterfaceProvider entityHachage
-
À chacun son rôle
Exercice 3 · 200 XP · 5 objectifs vérifiés par des tests
Gorm, le patron (ROLE_PATRON), a tous les droits ;
role_hierarchyIsGrantedis_granted()
-
Chacun ses plats
Exercice 4 · 220 XP · 5 objectifs vérifiés par des tests
Lugh, un nouveau cuisinier, a « amélioré » la tourte de Bruna en y ajoutant des anchois. Bruna est furieuse. Nouvelle règle en cuisine : chacun ses plats. Un cuisinier ne modifie que les plats qu'il a inventés, et le patron peut tout modifier.
VoterIsGranted avec sujetCurrentUser
-
Changer la serrure
Exercice 5 · 220 XP · 5 objectifs vérifiés par des tests
Pipin a affiché les mots de passe de tout le monde sur le tableau des commandes, « pour ne pas les oublier ». Il est urgent de changer les serrures : chaque employé doit pouvoir changer son mot de passe.
UserPasswordRepeatedTypeHachage
-
🐉 Boss : les clés volées
Exercice 6 · 250 XP · 4 objectifs vérifiés par des tests
Après l'affaire du tableau, Pipin s'est senti coupable. Il a décidé de « renforcer la sécurité » tout seul, pendant la nuit, en « rangeant un peu » au passage.
Débogageaccess_controlHiérarchie des rôlesVoter