Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:symfony:securite:authentification [30/09/2022 17:24]
thierry [Utilisateurs]
prog:symfony:securite:authentification [01/10/2022 12:13] (Version actuelle)
thierry [Protéger un chemin]
Ligne 12: Ligne 12:
   * ''​symfony console doctrine:​migrations:​migrate''​   * ''​symfony console doctrine:​migrations:​migrate''​
  
-===== Formulaire de connexion ​=====+===== Formulaire ​d'​enregistrement ​de nouveaux utilisateurs=====
 Pour créer ce formulaire : Pour créer ce formulaire :
   * ''​symfony console make:​registration-form''​   * ''​symfony console make:​registration-form''​
Ligne 20: Ligne 20:
   * Un Formulaire : ''​src\Form\RegistrationFormType.php''​   * Un Formulaire : ''​src\Form\RegistrationFormType.php''​
   * Un modèle Twig : ''​templates\registration\register.html.twig''​   * Un modèle Twig : ''​templates\registration\register.html.twig''​
 +
 +<note warning>​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</​note>​
 +
 +===== Formulaire de connexion =====
 +''​symfony console make:​auth''​
 +
 +Une fois que les fichiers sont générés ou modifiés il faut :
 +  * Definir la redirection aprés authentification dans le fichier ''​ App\Security\AppAuthenticator''​\\ voir la parite "​TODO"​ dans  ''​App\Security\AppAuthenticator::​onAuthenticationSuccess() ''​
 +  * Modifié le modèle : ''​templates/​security/​login.html.twig''​.
 +
  
  
Ligne 31: Ligne 45:
         # - { path: ^/profile, roles: ROLE_USER }         # - { path: ^/profile, roles: ROLE_USER }
 </​code>​ </​code>​
 +
 +===== 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''​
 +
 +<code 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,​ [
 +               ...
 +                    ]),
 +                ],
 +            ])
 +        ;
 +    }
 +
 +</​code>​
 +
 +
 +
  
  
Ligne 36: Ligne 83:
 ====== Sources & Ressources ====== ====== Sources & Ressources ======
   * [[https://​symfony.com/​doc/​current/​security.html]]   * [[https://​symfony.com/​doc/​current/​security.html]]
 +  * [[https://​www.youtube.com/​watch?​v=Id5y2aRUZok|Vidéo Youtube : Une authentification MAGIQUE dans Symfony ! de Yoandev]]
 +  * [[https://​www.youtube.com/​watch?​v=_GjHWa9hQic|Vidéo Youtube : 1H POUR COMPRENDRE L'​AUTHENTIFICATION ! de Lior CHAMLA]]
 +  * [[https://​www.youtube.com/​watch?​v=lkmW57JblzI|Vidéo Youtube : Une double authentification avec Symfony en 30 minutes ! Yoandev]]