Obwohl die aktuelle Antwort die Frage des OP beantwortet, möchte ich weitere Details hinzufügen.
Ich verstehe, dass das OP keine Rollen überprüfen wollte, aber ich schließe sie ein, damit andere SO-Benutzer diese in Zukunft kopieren und einfügen können. - Jedes Mal, wenn ich das google, lande ich hier!
Symfony Doc Quellen:
Überprüfen Sie, ob sich ein Benutzer angemeldet hat (unabhängig von der Rolle).
Wie beantwortet, können Sie app.user
überprüfen, ob ein Benutzer angemeldet ist.
{% 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 %}
Überprüfen des Authentifizierungsstatus
Sie können die is_granted()
Methode verwenden, um ROLES
Folgendes zu überprüfen : (Im Folgenden sind alle von symfony zugewiesenen Rollen aufgeführt. Möglicherweise haben Sie auch eigene Rollen (mehr unten). )
{% 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 %}
aus den Dokumenten:
IS_AUTHENTICATED_ANONYMOUSLY - Wird automatisch einem Benutzer zugewiesen, der sich in einem Firewall-geschützten Teil der Site befindet, sich jedoch nicht angemeldet hat. Dies ist nur möglich, wenn anonymer Zugriff zugelassen wurde.
IS_AUTHENTICATED_REMEMBERED - Wird automatisch einem Benutzer zugewiesen, der über ein Erinnerungscookie authentifiziert wurde.
IS_AUTHENTICATED_FULLY - Wird automatisch einem Benutzer zugewiesen, der während der aktuellen Sitzung seine Anmeldedaten angegeben hat.
Rollen überprüfen
Sie können auch is_granted()
nach Rollen suchen.
Unter der Annahme , wir drei Rollen haben ( 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 %}
Gehen Sie in einem Controller wie oben beschrieben vor
Zeigen Sie die folgende Antwort an: Wie kann ich überprüfen, ob ein Benutzer in Symfony2 in einem Controller angemeldet ist?
{% if not app.user %}