0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Atelier Symfony 5 : Authentification Web

Le document décrit les étapes pour configurer l'authentification dans une application Symfony. Il explique comment créer une entité utilisateur, générer le mapping avec la base de données, créer le module d'authentification et d'inscription, modifier le code de redirection après connexion et ajouter un lien de déconnexion.

Transféré par

Issam Ouechtati
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Atelier Symfony 5 : Authentification Web

Le document décrit les étapes pour configurer l'authentification dans une application Symfony. Il explique comment créer une entité utilisateur, générer le mapping avec la base de données, créer le module d'authentification et d'inscription, modifier le code de redirection après connexion et ajouter un lien de déconnexion.

Transféré par

Issam Ouechtati
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Atelier framework Web côté serveur Symfony 5

TP7: Authentification

1. Pour s’authentifier il faut commencer par créer une entité spécifique User en
utlisant la commande suivante :

php bin/console make:user

2. Générer le mapping avec la BD

php bin/console doctrine:migrations:diff

puis

php bin/console doctrine:migrations:migrate

3. afin de créer le module d’authentification, il faut exécuter cette commande

php bin/console make:Auth

4. Pour créer le module inscription il faut taper cette commande.

php bin/console make:registration-form

5. Nous avons maintenant la fonction qui permet de faire l’authentification, son code est le
suivant :

public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $providerKey)


{
if ($targetPath = $this->getTargetPath($request->getSession(), $providerKey)) {
return new RedirectResponse($targetPath);
}

// For example : return new RedirectResponse($this->urlGenerator->generate('some_route'));


throw new \Exception('TODO: provide a valid redirect inside '.__FILE__);
}

Il faut changer le lien de la redirection pour que l’’utilisateur accède au chemin voulu juste après
l’authentification

Mahdi HAMZAOUI AU : 2020/2021


Atelier framework Web côté serveur Symfony 5

public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $providerKey)


{
if ($targetPath = $this->getTargetPath($request->getSession(), $providerKey)) {
return new RedirectResponse($targetPath);
}

// For example : return new RedirectResponse($this->urlGenerator->generate('some_route'));


return new RedirectResponse($this->urlGenerator->generate('produit_index'));
}

6. Pour que l’interface d’authentification soit accessible sur [Link] :8000, changer la route
de la fonction login comme suit :

class SecurityController extends AbstractController


{
/**
* @Route("/", name="app_login")
*/
public function login(AuthenticationUtils $authenticationUtils): Response
{
……
}}

7. Ajouter le lien de déconnexion dans le navbar

<li class="nav-item">
<a class="nav-link" href="{{ path('app_logout') }}">
<i class="fa fa-sign-out" ariahidden="true" style="color:red"></i>
Logout</a>
</li>

8. Empêcher l’affichage du navbar dans la page d’authentification

{% if [Link] %}
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
…………………..
{% endif %}

Mahdi HAMZAOUI AU : 2020/2021

Vous aimerez peut-être aussi