Embora a resposta atual responda à pergunta do OP, gostaria de acrescentar mais detalhes.
Eu entendo que o OP não deseja verificar as funções, mas estou incluindo-as para que outros usuários do SO possam copiar e colar a partir disso no futuro. - toda vez que eu procuro no Google, acabo aqui!
Fontes Symfony Doc:
Verifique se algum usuário está conectado (independentemente da função)
Conforme respondido, você pode usar app.user
para verificar se algum usuário está logado.
{% 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 %}
Verificando o status de autenticação
Você pode usar o is_granted()
método para verificar ROLES
, (Abaixo estão todas as funções atribuídas pelo symfony, você também pode ter suas próprias funções (mais abaixo) )
{% 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 %}
dos documentos:
IS_AUTHENTICATED_ANONYMOUSLY - atribuído automaticamente a um usuário que está em uma parte protegida por firewall do site, mas que não está realmente conectado. Isso só é possível se o acesso anônimo for permitido.
IS_AUTHENTICATED_REMEMBERED - atribuído automaticamente a um usuário que foi autenticado por meio de um cookie de lembrar de mim.
IS_AUTHENTICATED_FULLY - atribuído automaticamente a um usuário que forneceu seus detalhes de login durante a sessão atual.
Verificando funções
Você também pode usar is_granted()
para verificar as funções.
Supondo que temos 3 funções ( ROLE_SUPER_ADMIN
, ROLE_ADMIN
, e 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 %}
Fazendo o acima dentro de um controlador
Veja a seguinte resposta: Como verificar se um usuário está logado no Symfony2 dentro de um controlador?
{% if not app.user %}