खोज…
सुरक्षा प्रबंध
सुरक्षा सिम्फनी प्रलेखन के अंधेरे पक्ष का एक हिस्सा था, इसमें सुरक्षा घटक नामक एक समर्पित घटक है।
यह घटक मुख्य एप्लिकेशन प्रोजेक्ट के सुरक्षा.माइल फ़ाइल में कॉन्फ़िगर किया गया है।
डिफ़ॉल्ट कॉन्फ़िगरेशन इस तरह है:
# app/config/security.yml
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
आप अपने उपयोगकर्ताओं के लिए एक पदानुक्रम है कि एक प्रदाता और इनकोडर्स कि पासवर्ड सुरक्षा प्रबंधन द्वारा परिभाषित कर रहे के आधार पर विशिष्ट भूमिकाओं के लिए कुछ यूआरएल के लिए उपयोग को सीमित करने के लिए विशिष्ट फायरवॉल परिभाषित कर सकते हैं।
उदाहरण के लिए, यदि आप अपने डेटाबेस इंजन से एक कस्टम प्रदाता बनाना चाहते हैं, तो आप इस तरह से सुरक्षा को परिभाषित कर सकते हैं:
providers:
your_db_provider:
entity:
class: AppBundle:User
property: apiKey
इसे सिम्फनी डॉक्यूमेंटेशन में अलग किया गया है: कस्टम UserProvider और डेटाबेस से या उदाहरण के लिए LDAP के खिलाफ कैसे परिभाषित करें ।
उसके बाद, आप अपने कस्टम उपयोगकर्ता प्रदाता (Security.yml) के आधार पर कुछ URL को प्रतिबंधित करने के लिए फ़ायरवॉल को परिभाषित कर सकते हैं:
firewalls:
secured_area:
pattern: ^/admin
या अभिगम नियंत्रण के साथ:
access_control:
- { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/admin, roles: ROLE_ADMIN }
अधिक विस्तृत दस्तावेज़ देखें यहाँ ।
उपयोगकर्ता को प्रबंधित करने का सबसे अच्छा तरीका FosUserBundle का उपयोग करना है जो कुछ ढांचे के कार्यों को बढ़ाता है।