Outils pour utilisateurs

Outils du site


symfony5:securite_entite_user

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
symfony5:securite_entite_user [2021/04/05 15:39]
marclebrun [Création de l'entité]
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Création de l'​entité User ====== 
- 
-===== Création de l'​entité ===== 
- 
-<code bash> 
-symfony console make:user 
-</​code>​ 
- 
-  * The name of the security user class: **User** 
-  * Do you want to store user data in the database: **Yes** 
-  * Enter a property name that will be the unique "​display"​ name for the user: **email** 
-  * Does this app need to hash/check user password? **yes** 
- 
-Fichiers créés : 
- 
-| Création ​   | src/​Entity/​**User**.php ​              | 
-| Création ​   | src/​Repository/​**UserRepository**.php | 
-| Mise à jour | config/​packages/​**security.yaml** ​    | 
- 
-Propriétés de l'​entité : 
- 
-^ Nom      ^ Type         ^ Longueur ^ Nullable ^ 
-| email    | string ​      | 255      | Non      | 
-| username | string ​      | 255      | Non      | 
-| roles    | simple_array |          | Non      | 
-| password | string ​      | 255      | Non      | 
- 
-Ensuite pour ajouter d'​autres champs à l'​entité,​ il suffit de refaire la 
-commande ​ 
-<code bash>​symfony console make:​entity</​code>​ 
-sur l'​entité **User** et ajouter les champs supplémentaires. 
- 
-===== Créer la table dans la DB ===== 
- 
-Créer une migration : 
- 
-<code bash> 
-symfony console make:​migration 
-</​code>​ 
- 
-Appliquer la migration : 
- 
-<code bash> 
-symfony console doctrine:​migrations:​migrate 
-</​code>​ 
- 
-===== Fixture ===== 
- 
-**AVANT D'​APPLIQUER CETTE FIXTURE, IL FAUT D'​ABORD AVOIR CONFIGURÉ 
-L'​ENCODAGE DES MOTS DE PASSE !!!** 
- 
-<code php src/​DataFixtures/​UserFixtures.php>​ 
-<?php 
- 
-namespace App\DataFixtures;​ 
- 
-use App\Entity\User;​ 
-use Doctrine\Bundle\FixturesBundle\Fixture;​ 
-use Doctrine\Common\Persistence\ObjectManager;​ 
-use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;​ 
- 
-class UserFixtures extends Fixture 
-{ 
-    private $encoder; 
- 
-    public function __construct(UserPasswordEncoderInterface $encoder) { 
-        $this->​encoder = $encoder; 
-    } 
- 
-    public function load(ObjectManager $manager) { 
- 
-        $user = new User(); 
-        $user->​setUserName('​Bubule'​);​ 
-        $user->​setEmail('​bubule@mail.com'​);​ 
-        $user->​setPassword($this->​encoder->​encodePassword($user,​ '​testtest'​));​ 
-        $user->​setRoles(['​ROLE_USER',​ '​ROLE_ADMIN'​]);​ 
- 
-        $manager->​persist($user);​ 
-        $manager->​flush();​ 
-    } 
-} 
-</​code>​ 
- 
-Pour rappel, appliquer les fixtures se fait par cette commande : 
- 
-<code bash> 
-php bin/console doctrine:​fixtures:​load 
-</​code>​ 
  
symfony5/securite_entite_user.1617637195.txt.gz · Dernière modification: 2021/04/05 15:39 (modification externe)