Sécurité¶
1. Authentification¶
1.1 Utilisateur¶
Objectif : avoir une entité Utilisateur
Travail à réaliser
- Générer l'entité
User
avecemail
(obligatoire et unique),password
etname
- Création de fixtures pour avoir au moins 2 utilisateurs
Attention
Pour pouvoir encoder les mots de passe des utilisateurs depuis les fixtures : documentation DoctrineFixturesBundle et documentation Foundry.
1.2 Connexion¶
Objectif : avoir un formulaire de connexion fonctionnel et pouvoir se déconnecter
Travail à réaliser
- Création d'un formulaire de connexion
- Ajouter des liens dans la Navbar pour se connecter et se déconnecter
1.3 Inscription¶
Objectif : avoir un formulaire d'inscription
Travail à réaliser
- Création du formulaire d'inscription
- Ne pas mettre en place la fonctionnalité d'activation de compte par email
- Ajouter un lien dans la page de connexion pour s'inscrire
1.4 Mot de passe sécurisé¶
Objectif : forcer la saisie d'un mot de passe sécurisé à l'inscription
Travail à réaliser
À l'aide du bundle rollerworks/password-strength-bundle on souhaite obliger l'utilisateur à saisir un mot de passe contenant au moins :
- une lettre minuscule
- une lettre majuscule
- un chiffre
2. Autorisation¶
Objectif : limiter l'accès aux actions de création/édition/suppression
Travail à réaliser
- Modifier la Navbar pour afficher/cacher les liens pour se connecter et se déconnecter suivant l'état de connexion
- Modifier vos fixtures pour que :
- votre premier utilisateur soit un simple utilisateur avec uniquement le rôle
ROLE_USER
- votre second utilisateur soit un administrateur avec le rôle
ROLE_ADMIN
- votre premier utilisateur soit un simple utilisateur avec uniquement le rôle
- Mettre en place les restrictions d'accès suivantes :
- Création / modification / suppression d'une citation uniquement accessible aux utilisateurs connectés
- Création / modification / suppression d'une catégorie uniquement accessible aux administrateurs
- Les boutons d'actions doivent être visible uniquement des utilisateurs autorisés
Ressources :
Dernière mise à jour:
February 27, 2023