Ceci est une ancienne révision du document !
Selon la vidéo de Nouvelle Techno
php bin/console make:entity User
Fichiers créés :
src/Entity/User.php |
src/Repository/UserRepository.php |
Ajout des propriétés :
Nom | Type | Longueur | Nullable |
---|---|---|---|
string | 255 | Non | |
username | string | 255 | Non |
roles | simple_array | Non | |
password | string | 255 | Non |
NOTE : pour le champ roles
j'ai utilisé le type simple_array
plutôt que le type json
car sur mon serveur MariaDB le type de
champ json
n'était pas encore supporté, alors qu'en MySQL il
existe depuis longtemps…
Créer la migration :
php bin/console make:migration
Appliquer la migration :
php bin/console doctrine:migrations:migrate
php bin/console make:auth
Choisir Login form authenticator.
Nom de la classe à créer : UsersAuthenticator
Nom du contrôleur : SecurityController
Nom de la classe User : App\Entity\User
Générer une route /logout
? Oui
src/Security/UsersAuthenticator.php
config/packages/security.yaml
src/Controller/SecurityController.php
login.html.twig
php bin/console make:registration-form
Ajouter une contrainte d'unicité sur la classe Users : Oui
Authentifier automatiquement l'utilisateur après l'inscription : Oui
src/Entity/Users.php
src/Form/RegistrationFormType.php
src/Controller/RegistrationController.php
register.html.twig