Outils pour utilisateurs

Outils du site


symfony4:authentification_2

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
symfony4:authentification_2 [2020/04/12 20:39]
marclebrun [Création du système d'authentification]
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Authentification (2) ====== 
- 
-Selon la vidéo de [[https://​www.youtube.com/​watch?​v=wooIVmonymA|Nouvelle Techno]] 
- 
-===== Création de l'​entité USER ===== 
- 
-<code bash> 
-php bin/console make:entity User 
-</​code>​ 
- 
-Fichiers créés : 
- 
-| src/​Entity/​**User**.php | 
-| src/​Repository/​**UserRepository**.php | 
- 
-Ajout des propriétés : 
- 
-^ Nom      ^ Type         ^ Longueur ^ Nullable ^ 
-| email    | 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 : 
- 
-<code bash> 
-php bin/console make:​migration 
-</​code>​ 
- 
-Appliquer la migration : 
- 
-<code bash> 
-php bin/console doctrine:​migrations:​migrate 
-</​code>​ 
- 
-===== Implémenter UserInterface ===== 
- 
-Éditer la classe **App\Entity\User** pour qu'​elle implémente l'​interface **UserInterface** : 
- 
-<code php src/​Entity/​User.php>​ 
-// ... 
- 
-use Symfony\Component\Security\Core\User\UserInterface;​ 
- 
-class User implements UserInterface 
-{ 
- 
-    // ... 
-    ​ 
-    // Ajouter ou modifier les fonctions requises : 
-    //​********************************************* 
-    ​ 
-    public function getUsername():​ ?string 
-    { 
-        return $this->​username;​ 
-    } 
-    ​ 
-    public function eraseCredentials() { 
-    ​ 
-    } 
-  
-    public function getSalt() { 
-    ​ 
-    } 
-  
-    public function getRoles() { 
-        $roles = $this->​roles;​ 
-        // guarantee every user at least has ROLE_USER 
-        $roles[] = '​ROLE_USER';​ 
- 
-        return array_unique($roles); ​       ​ 
-    } 
-    ​ 
-} 
-</​code>​ 
- 
- 
-===== Création du système d'​authentification ===== 
- 
-<code bash> 
-php bin/console make:auth 
-</​code>​ 
- 
-Choisir **Login form authenticator**. 
- 
-Nom de la classe à créer : **UsersAuthenticator** 
- 
-Nom du contrôleur : **SecurityController** 
- 
-Nom de la classe User : **App\Entity\User** 
- 
-Choisir le champ de l'​entité qui sera entré comme login : **email** ou **username** 
- 
-Générer une route ''/​logout''​ ? **Oui** 
- 
-  * Création de ''​src/​Security/​UsersAuthenticator.php''​ 
-  * Mise à jour de la configuration dans ''​config/​packages/​security.yaml''​ 
-  * Création du contrôleur ''​src/​Controller/​SecurityController.php''​ 
-    * et de son template ''​login.html.twig''​ 
- 
-===== Formulaire d'​inscription ===== 
- 
-<code bash> 
-php bin/console make:​registration-form 
-</​code>​ 
- 
-Ajouter une contrainte d'​unicité sur la classe **Users** : **Oui** 
- 
-Authentifier automatiquement l'​utilisateur après l'​inscription : **Oui** 
- 
-  * Mise à jour de l'​entité ''​src/​Entity/​Users.php''​ 
-  * Création du formulaire d'​inscription dans ''​src/​Form/​RegistrationFormType.php''​ 
-  * Création du contrôleur ''​src/​Controller/​RegistrationController.php''​ 
-    * et de son template ''​register.html.twig''​ 
- 
  
symfony4/authentification_2.1586723945.txt.gz · Dernière modification: 2020/04/12 20:39 (modification externe)