Bien que la réponse actuelle réponde à la question du PO, j'aimerais ajouter plus de détails.
Je comprends que l'OP ne voulait pas vérifier les rôles, mais je les inclut afin que d'autres utilisateurs SO puissent copier et coller à partir de cela à l'avenir. - à chaque fois que je cherche sur Google, je me retrouve ici!
Sources de documentation Symfony:
Vérifiez si un utilisateur s'est connecté (quel que soit son rôle)
Comme répondu, vous pouvez utiliser app.user
pour vérifier si un utilisateur est connecté.
{% if app.user %}
# user is logged in (any and all users, regardless of ROLE_*)
{% elseif not app.user %}
# user is not logged in (note the `not` in the `elseif` statement)
{% endif %}
Vérification de l'état d'authentification
Vous pouvez utiliser la is_granted()
méthode pour vérifier ROLES
, (ci-dessous sont tous les rôles attribués par symfony, vous pouvez également avoir vos propres rôles (plus ci-dessous) )
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
# This user entered their credentials THIS session
{% elseif is_granted('IS_AUTHENTICATED_REMEMBERED') %}
# User logged in via a cookie (ie: Auth again before doing sensitive things)
{% elseif is_granted('IS_AUTHENTICATED_ANONYMOUSLY') %}
# This is a `guest` or anonymous user
{% endif %}
à partir de la documentation:
IS_AUTHENTICATED_ANONYMOUSLY - automatiquement attribué à un utilisateur qui se trouve dans une partie protégée par un pare-feu du site mais qui ne s'est pas réellement connecté. Ceci n'est possible que si l'accès anonyme a été autorisé.
IS_AUTHENTICATED_REMEMBERED - automatiquement attribué à un utilisateur authentifié via un cookie Remember me.
IS_AUTHENTICATED_FULLY - automatiquement attribué à un utilisateur qui a fourni ses informations de connexion au cours de la session en cours.
Vérification des rôles
Vous pouvez également utiliser is_granted()
pour vérifier les rôles.
En supposant que nous avons 3 rôles ( ROLE_SUPER_ADMIN
, ROLE_ADMIN
, et ROLE_USER
)
{% if is_granted('ROLE_SUPER_ADMIN') -%}
# You're `ROLE_SUPER_ADMIN`
{% elseif is_granted('ROLE_ADMIN') -%}
# You're `ROLE_ADMIN`
{% elseif is_granted('ROLE_USER') -%}
# You're `ROLE_USER`
{% else %}
# You're a `nobody` ;P
{%- endif %}
Faire ce qui précède dans un contrôleur
Afficher la réponse suivante: Comment vérifier si un utilisateur est connecté à Symfony2 à l'intérieur d'un contrôleur?
{% if not app.user %}