Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony 3.4] Firewalls et nom d'utilisateur

Sujet résolu
    18 janvier 2018 à 16:15:11

    Bonjour à tous,

    Dans mon projet, je souhaite afficher le nom de l'utilisateur identifié sur toutes les pages. J'ai réussi à le faire sans trop de problèmes, mais mon code ne fonctionne pas sur la page d'accueil (qui est hors du firewall).

    Dans mon fichier security.yml

    firewalls:
        main_login:
            pattern:  ^/$|^/login$
            anonymous: true
             
        main:
            pattern:   ^/
            anonymous: false



    Dans layout.html.twig (qui se répète sur toute les pages)

    {% if is_granted('ROLE_USER') %}
    	<li class="active">
    		<a href="{{ path('logout') }}"><span  class="texteJaune" title="Se déconnecter">{{ app.user.username }}&nbsp;&nbsp;</span><i class="texteJaune fa fa-user fa-lg " aria-hidden="true" title="Se déconnecter"></i></a>
    	</li>
    {% else %}
    	<li class="active">
    		<a href="{{ path('login') }}"><span  class="texteGrisClair" title="Se connecter">Anonyme&nbsp;&nbsp;</span><i class="texteGrisClair fa fa-user fa-lg " aria-hidden="true" title="Se connecter"></i></a>
    	</li>
    {% endif %}
    

    Ce qui donne ceci :

    connection utilisateur

    connection anonyme

    Quelqu'un aurait une idée de comment avoir également le nom de l'utilisateur sur la page d'accueil ? Actuellement il y a Anonyme même lorsqu'il est connecté.

    EDIT: Je me réponds à moi-même

    Je n'utilise plus qu'un pare-feu (Main) avec anonymous: true, et je modifie le contrôle d'accès :

        firewalls:
            main:
                pattern:   ^/
                anonymous: true
    
        access_control:
            - { path: ^/admin, roles: ROLE_ADMIN }
            - { path: ^/espace, roles: ROLE_USER }
    

    Et je préfixe toutes les routes réservées aux utilisateurs enregistrés par /espace/ ce qui fait que n'ayant plus qu'un pare-feu, l'affichage du nom d'utilisateur est correct.

    -
    Edité par HarvestR 18 janvier 2018 à 17:50:45

    • Partager sur Facebook
    • Partager sur Twitter

    [Symfony 3.4] Firewalls et nom d'utilisateur

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown