यद्यपि वर्तमान उत्तर ओपी के प्रश्न का उत्तर देता है, मैं अधिक विवरण जोड़ना चाहूंगा।
मैं समझता हूं कि ओपी भूमिकाओं की जांच नहीं करना चाहते थे, लेकिन मैं उनमें शामिल हूं ताकि अन्य एसओ उपयोगकर्ता भविष्य में इससे कॉपी और पेस्ट कर सकें। - हर बार जब मैं यह Google करता हूं, तो मैं यहां समाप्त होता हूं!
सिम्फनी डॉक्टर के स्रोत:
जांचें कि क्या कोई उपयोगकर्ता लॉग इन करता है (भूमिका की परवाह किए बिना)
जैसा कि उत्तर दिया गया है, आप 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
, (नीचे सभी भूमिकाएँ सिम्फनी द्वारा सौंपी गई हैं, आपकी अपनी भूमिकाएँ भी हो सकती हैं) (नीचे और अधिक )
{% 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 - स्वचालित रूप से एक उपयोगकर्ता को सौंपा जाता है जिसे याद रखने वाले कुकी के माध्यम से प्रमाणित किया गया था।
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 %}