Sebbene la risposta attuale risponda alla domanda del PO, vorrei aggiungere ulteriori dettagli.
Capisco che l'OP non volesse controllare i ruoli, ma li sto includendo in modo che altri utenti SO possano copiare e incollare da questo in futuro. - ogni volta che cerco su google, finisco qui!
Fonti di Symfony Doc:
Controlla se qualche utente ha effettuato l'accesso (indipendentemente dal ruolo)
Alla risposta, è possibile utilizzare app.user
per verificare se un utente è connesso.
{% 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 %}
Verifica dello stato di autenticazione
Puoi usare il is_granted()
metodo per controllare ROLES
, (i seguenti sono tutti i ruoli assegnati da symfony, potresti anche avere i tuoi ruoli (più sotto) )
{% 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 %}
dai documenti:
IS_AUTHENTICATED_ANONYMOUSLY - assegnato automaticamente a un utente che si trova in una parte del sito protetta da firewall ma che non ha effettivamente effettuato l'accesso. Questo è possibile solo se è stato consentito l'accesso anonimo.
IS_AUTHENTICATED_REMEMBERED - assegnato automaticamente a un utente che è stato autenticato tramite un cookie ricordami.
IS_AUTHENTICATED_FULLY - assegnato automaticamente a un utente che ha fornito i propri dettagli di accesso durante la sessione corrente.
Controllo dei ruoli
Puoi anche usare is_granted()
per verificare i ruoli.
Supponendo che abbiamo 3 ruoli ( 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 %}
Fare quanto sopra all'interno di un controller
Visualizza la seguente risposta: Come verificare se un utente è connesso a Symfony2 all'interno di un controller?
{% if not app.user %}