Хотя текущий ответ отвечает на вопрос OP, я хотел бы добавить больше деталей.
Я понимаю, что OP не хотел проверять роли, но я включаю их, чтобы другие пользователи SO моглископируйте и вставьте из этого в будущем.- каждый раз, когда я гуглю это, я оказываюсь здесь!
Источники Symfony Doc:
Проверьте, вошел ли какой-либо пользователь в систему (независимо от роли)
В ответ вы можете использовать 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 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 внутри контроллера?