Хотя текущий ответ отвечает на вопрос ОП, я хотел бы добавить более подробную информацию.
Я понимаю, что OP не хотел проверять роли, но я включаю их, чтобы другие пользователи SO могли копировать и вставлять их в будущем. - каждый раз, когда я гуглию, я оказываюсь здесь!
Источники документации Symfony:
Проверить, вошел ли в систему какой-либо пользователь (независимо от роли)
Как ответил, вы можете использовать , app.user
чтобы проверить , если какой - либо пользователь вошел в систему .
{% 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 %}
Проверка статуса аутентификации
Вы можете использовать этот is_granted()
метод для проверки ROLES
(Ниже приведены все роли, назначенные Symfony, у вас также могут быть свои собственные роли (подробнее ниже) )
{% 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 %}
из документов:
IS_AUTHENTICATED_ANONYMOUSLY - автоматически назначается пользователю, который находится в защищенной брандмауэром части сайта, но не вошел в систему. Это возможно только в том случае, если разрешен анонимный доступ.
IS_AUTHENTICATED_REMEMBERED - автоматически назначается пользователю, который прошел аутентификацию с помощью файла cookie «запомнить меня».
IS_AUTHENTICATED_FULLY - автоматически назначается пользователю, который предоставил свои данные для входа в текущий сеанс.
Проверка ролей
Вы также можете использовать is_granted()
для проверки ролей.
Предположим , что мы имеем 3 роли ( ROLE_SUPER_ADMIN
, ROLE_ADMIN
, & 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 %}
Выполнение вышеуказанного внутри контроллера
Просмотрите следующий ответ: Как проверить, вошел ли пользователь в Symfony2 внутри контроллера?
{% if not app.user %}