Mevcut cevap OP'nin sorusunu yanıtlasa da daha fazla ayrıntı eklemek isterim.
OP'nin rolleri kontrol etmek istemediğini anlıyorum, ancak onları dahil ediyorum, böylece diğer SO kullanıcıları gelecekte bundan kopyalayıp yapıştırabilir. - bunu her google'da aradığımda, buraya geliyorum!
Symfony Doc Kaynakları:
Herhangi bir kullanıcının oturum açıp açmadığını kontrol edin (role bakılmaksızın)
Yanıtlandığı gibi, herhangi bir kullanıcının oturum açıp açmadığını app.user
kontrol etmek için kullanabilirsiniz .
{% 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 %}
Kimlik doğrulama durumu kontrol ediliyor
is_granted()
Kontrol etmek için yöntemi kullanabilirsiniz ROLES
, (Aşağıdakiler symfony tarafından atanan rollerdir, kendi rolleriniz de olabilir (daha fazlası aşağıda) )
{% 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 %}
dokümanlardan:
IS_AUTHENTICATED_ANONYMOUSLY - sitenin güvenlik duvarıyla korunan bir bölümünde bulunan ancak gerçekte oturum açmamış bir kullanıcıya otomatik olarak atanır. Bu yalnızca anonim erişime izin verilmişse mümkündür.
IS_AUTHENTICATED_REMEMBERED - bir beni hatırla çereziyle kimliği doğrulanan bir kullanıcıya otomatik olarak atanır.
IS_AUTHENTICATED_FULLY - mevcut oturum sırasında oturum açma ayrıntılarını sağlayan bir kullanıcıya otomatik olarak atanır.
Rolleri Kontrol Etmek
is_granted()
Rolleri kontrol etmek için de kullanabilirsiniz .
Biz 3 rolleri varsayarsak ( 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 %}
Yukarıdakileri bir kontrolörün içinde yapmak
Aşağıdaki yanıtı görüntüleyin: Bir kullanıcının bir denetleyici içinde Symfony2'de oturum açıp açmadığını nasıl kontrol edebilirim?
{% if not app.user %}