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.
Au matin, voici ce qu'on rapporte à Gorm :
- un client a été surpris en cuisine, la cuillère dans la marmite. Pipin aussi, d'ailleurs ;
- Gorm, le patron, ne voit plus le lien « Cuisine » dans la navigation ;
- Bruna ne peut plus modifier ses propres plats : 403. Gorm non plus, alors qu'il peut tout modifier.
Votre mission
Trois bugs se cachent dans la configuration de sécurité et dans le code : trouvez-les et corrigez-les, sans rien casser d'autre.
Méthode de détective
Les bugs de sécurité ne font presque jamais d'erreur : une porte reste ouverte, ou se ferme sans prévenir. Pour enquêter :
- Reproduisez chaque symptôme dans l'aperçu. Les comptes de démonstration sont affichés par
app:embaucherdans la console :bruna@dragon-ivre.fr/marmite,gorm@dragon-ivre.fr/tonneau,pipin@dragon-ivre.fr/patate. - Lisez la page 403 : sa pile d'appels montre qui a refusé l'accès, une règle
access_controlou un#[IsGranted]. Parfois, le titre dit aussi pourquoi. - Relisez
security.yamlligne à ligne : ordre des règles, noms des rôles. - Demandez-vous qui vote : un voter qui ne se prononce jamais ne fait aucun bruit.
Et cette fois, personne ne touche aux clés sans prévenir le patron.