Aunque la respuesta actual responde a la pregunta del OP, me gustaría agregar más detalles.
Entiendo que el OP no quería verificar los roles, pero los incluyo para que otros usuarios de SO puedan copiar y pegar de esto en el futuro. - ¡Cada vez que busco esto en Google, termino aquí!
Fuentes de Symfony Doc:
Compruebe si algún usuario inició sesión (independientemente del rol)
Como respondió, puede usar app.user
para verificar si algún usuario ha iniciado sesión.
{% 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 %}
Comprobación del estado de autenticación
Puedes usar el is_granted()
método para verificar ROLES
(los siguientes son todos los roles asignados por Symfony, también puedes tener tus propios roles (más abajo) )
{% 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 %}
de los documentos:
IS_AUTHENTICATED_ANONYMOUSLY: asignado automáticamente a un usuario que se encuentra en una parte del sitio protegida por firewall pero que no ha iniciado sesión. Esto solo es posible si se ha permitido el acceso anónimo.
IS_AUTHENTICATED_REMEMBERED: asignado automáticamente a un usuario que se autenticó mediante una cookie de recordarme.
IS_AUTHENTICATED_FULLY: se asigna automáticamente a un usuario que ha proporcionado sus datos de inicio de sesión durante la sesión actual.
Comprobación de roles
También puede usarlo is_granted()
para verificar roles.
Suponiendo que tenemos 3 funciones ( ROLE_SUPER_ADMIN
, ROLE_ADMIN
, y 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 %}
Haciendo lo anterior dentro de un controlador
Vea la siguiente respuesta: ¿Cómo verificar si un usuario está conectado a Symfony2 dentro de un controlador?
{% if not app.user %}