যদিও বর্তমান উত্তরটি ওপির প্রশ্নের উত্তর দেয়, আমি আরও বিশদ যুক্ত করতে চাই।
আমি বুঝতে পারি যে ওপি ভূমিকাগুলি যাচাই করতে চায় নি, তবে আমি তাদের অন্তর্ভুক্ত করছি যাতে অন্যান্য এসও ব্যবহারকারীরা ভবিষ্যতে এ থেকে অনুলিপি করতে এবং এটি আটকে দিতে পারে। - যতবার আমি এটি গুগল করি, আমি এখানেই শেষ করি!
সিমফনি ডক সূত্র:
কোনও ব্যবহারকারী লগ ইন করেছেন কিনা তা পরীক্ষা করুন (ভূমিকা নির্বিশেষে)
উত্তর হিসাবে, আপনি কোনও ব্যবহারকারী লগ ইন করেছেন app.user
কিনা তা পরীক্ষা করতে ব্যবহার করতে পারেন ।
{% if app.user %}
{% elseif not app.user %}
{% endif %}
প্রমাণীকরণের স্থিতি পরীক্ষা করা হচ্ছে
is_granted()
পরীক্ষা করার জন্য আপনি এই পদ্ধতিটি ব্যবহার করতে পারেন ROLES
, (নীচে সিমফনি দ্বারা নির্ধারিত সমস্ত ভূমিকা রয়েছে, আপনার নিজের ভূমিকাও থাকতে পারে (আরও নীচে) )
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
{% elseif is_granted('IS_AUTHENTICATED_REMEMBERED') %}
{% elseif is_granted('IS_AUTHENTICATED_ANONYMOUSLY') %}
{% endif %}
ডক্স থেকে:
IS_AUTHENTICATED_ANONYMOUSLY - স্বয়ংক্রিয়ভাবে এমন কোনও ব্যবহারকারীকে অর্পণ করা হয়েছে যিনি সাইটের ফায়ারওয়াল সুরক্ষিত অংশে আছেন তবে যিনি আসলে লগইন করেননি This অজ্ঞাত অ্যাক্সেসের অনুমতি দেওয়া হলে এটি কেবল সম্ভব।
IS_AUTHENTICATED_REMEMBERED - স্বয়ংক্রিয়ভাবে এমন কোনও ব্যবহারকারীকে অর্পণ করা হয়েছে যিনি আমাকে মনে রাখার কুকির মাধ্যমে প্রমাণীকরণ করেছিলেন।
IS_AUTHENTICATED_FULLY - স্বয়ংক্রিয়ভাবে এমন কোনও ব্যবহারকারীকে অর্পণ করা হয়েছে যা বর্তমান সেশনের সময় তাদের লগইন বিশদ সরবরাহ করেছে।
ভূমিকা পরীক্ষা করা হচ্ছে
is_granted()
ভূমিকাগুলি পরীক্ষা করার জন্য আপনিও ব্যবহার করতে পারেন ।
ধরে নেওয়া যাক আমরা 3 ভূমিকা আছে ( ROLE_SUPER_ADMIN
, ROLE_ADMIN
, & ROLE_USER
)
{% if is_granted('ROLE_SUPER_ADMIN') -%}
{% elseif is_granted('ROLE_ADMIN') -%}
{% elseif is_granted('ROLE_USER') -%}
{% else %}
{%- endif %}
একটি নিয়ামকের ভিতরে উপরেরটি করা
নিম্নলিখিত উত্তরটি দেখুন: কোনও ব্যবহারকারী কোনও নিয়ন্ত্রণকারীর মধ্যে সিমফনি 2 এ লগইন করেছেন কিনা তা কীভাবে পরীক্ষা করবেন?
{% if not app.user %}