Table des matières

Authentification

Prérequis

Utilisateurs

Création

Création de l'entité USER :

Puis pour créer les tables dans la base de données :

Formulaire d'enregistrement de nouveaux utilisateurs

Pour créer ce formulaire :

Cela nous créé plusieurs fichiers :

Il se peux qu'une erreur de validation se produise

data.password This value should not be null.

Voir en bas de la page pour en savoir plus

Formulaire de connexion

symfony console make:auth

Une fois que les fichiers sont générés ou modifiés il faut :

Protéger un chemin

Pour interdire l’accès a un chemin sauf au utilisateurs authentifié, on modifie le fichier config\packages\security.yaml

On décommente la ligne - { path: ^/admin, roles: ROLE_ADMIN }

config\packages\security.yaml
    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }  #<- a décommenter
        # - { path: ^/profile, roles: ROLE_USER }

Connexion par lien

On peut se connecter directement via un lien que l'on a reçu par email, par exemple.

Voir la vidéo : https://www.youtube.com/watch?v=Id5y2aRUZok

Erreurs

Formulaire de d'enregistrement

Erreur data.password This value should not be null.

Il faut ajouter la ligne →add('password',HiddenType::class,['attr'⇒['value'⇒'dummy']]) dans le fichier \Form\RegistrationFormType.php

src\Form\RegistrationFormType.php
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
        $builder
            ->add('email')
            ....
            ->add('password',HiddenType::class,['attr'=>['value'=>'dummy']]) #<--- AJOUTER CETTE LIGNE
            ->add('plainPassword', PasswordType::class, [
               ...
                    ]),
                ],
            ])
        ;
    }

Sources & Ressources