हमारे पास एक ऐसी प्रणाली है जहां प्रशासकों और मानक उपयोगकर्ताओं को अपने स्वयं के अलग-अलग सुरक्षा प्रदाताओं द्वारा संभाला जाता है। इससे व्यवस्थापकीय पृष्ठों में समस्या आई है क्योंकि प्रशासक मुख्य साइट के फ़ायरवॉल के पीछे मौजूद किसी भी फाइल या छवियों तक नहीं पहुंच सकते हैं जब तक कि वे मुख्य साइट पर भी साइन इन नहीं होते हैं।सिम्फनी 2: दो अलग-अलग प्रदाताओं के साथ फ़ायरवॉल किए गए मार्ग तक पहुंच
प्रदाता के बावजूद छवियों और फ़ाइलों को सभी प्रमाणीकृत उपयोगकर्ताओं और प्रशासकों के लिए सुलभ होने की आवश्यकता है। उन्हें एक नियंत्रक के माध्यम से परोसा जाता है जो अधिक बढ़िया पहुंच नियंत्रण प्रदान करता है।
क्या एक से अधिक प्रदाता को एक मार्ग तक पहुंचने के लिए परिभाषित करना संभव है?
यहाँ हमारे वर्तमान security.yml के नीचे छीन संस्करण है:
security:
providers:
admin_user_db:
entity: { class: OurAdminUserBundle:AdminUser, property: username }
site_user_db:
entity: { class: OurSiteUserBundle:SiteUser, property: username }
firewalls:
admin_login:
pattern: ^/admin/login$
security: false
site_user_login:
pattern: ^/login
security: false
file_route:
pattern: ^/file
anonymous: ~
### We need to allow this route only for authorized users from
### either admin_user_db or site_user_db providers
admin_secured_area:
pattern: ^/admin
http_basic: ~
provider: admin_user_db
form_login:
check_path: /admin/login_check
login_path: /admin/login
logout:
path: /admin/logout
target:/
site_secured_area:
pattern: .*
http_basic: ~
provider: site_user_db
form_login:
check_path: /check_login
login_path: /login
failure_path: /login
failure_forward: false
logout:
path: /logout
target:/
उत्तर के लिए धन्यवाद, हम इन निर्देशों के साथ 'चेनप्रोवाइडर' सेट अप करने में सक्षम थे (हालांकि मुझे लगता है कि वाक्यविन्यास थोड़ा अलग था सिम्फनी का हमारा संस्करण)। आखिरकार हमने 'एडमिन यूज़र' को खत्म कर दिया और @ जेपरोविक की तरह भूमिकाओं का उपयोग करके सुझाव दिया, क्योंकि हमने महसूस किया कि अलग-अलग प्रदाताओं हमारे परिदृश्य में वास्तव में आवश्यक नहीं हैं। – Kaivosukeltaja