DevFabi / Givemebestplace

SYMFONY 4 - Projet de gestion d'activité ( perso )
0 stars 0 forks source link

Authentification #3

Open DevFabi opened 5 years ago

DevFabi commented 5 years ago

Créer une authentification. Enregistrement, connection. Gestion de l'utilisateur, gestion du profil. Affichages sur la page d'accueil

DevFabi commented 5 years ago

Ajout du sonata User avec fos user Doc : https://sonata-project.org/bundles/user/master/doc/reference/advanced_configuration.html Faire attention à 'acl' et au mailer

DevFabi commented 5 years ago

Pour ajouter les routes user hors admin : https://ourcodeworld.com/articles/read/794/how-to-install-and-configure-fosuserbundle-in-symfony-4

création dans routes/ de fos_user.yaml fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml"

Dans security.yaml : access_control:

    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }

main: pattern: ^/ context: user form_login: provider: fos_userbundle login_path: /login use_forward: false check_path: /login_check failure_path: null logout: true anonymous: true

DevFabi commented 5 years ago

Ajout des templates modifiables : Création d'un dossier dans templates: bundles/FOSUserBundel/ puis tous les dossiers ( group, profile..) Liaison de Comment et User : php bin/console make:entitiy ( pour modifier l'entité Comment ) : Ajout de l'attribut 'user' en ManyToOne avec App\Application\Sonata\UserBundle\Entity user.php Ne pas oublier dans user.php de mettre : use Doctrine\ORM\Mapping as ORM;

Vider la database :

php bin/console doctrine:database:drop --f
php bin/console doctrine:database:create

Faire la migration :

 php bin/console make:migration 
 php bin/console doctrine:migrations:migrate

Dans ActivityController pour l'ajout d'un commentaire :

// On récupère l'utilisateur qui a posté le commentaire
        $user = $this->get('security.token_storage')->getToken()->getUser();
if ($form->isSubmitted() && $form->isValid()) {
           $comment->setUser($user); 

Créer un admin : php bin/console fos:user:create Fab --super-admin

Reste à faire la même chose pour l'activity !