2012-08-16 13 views
9

मैं कहाँ काम हम एक webapp जिसमें उपयोगकर्ताओंसे अधिक समूहों पास न हो रचना कर रहे हैं और प्रत्येक समूह के उन्नत में तो पता नहीं संसाधनों का एक सेट पर पहुँच गया है के साथ Symfony2 समूह अनुमतियाँ। इसके अलावा, उपयोगकर्ता समूह में प्रवेश या छोड़ सकते हैं और समूह संसाधनों तक पहुंच प्राप्त कर सकते हैं या खो सकते हैं, इसलिए पूरी अनुमति देने वाली प्रणाली को गतिशील होना चाहिए।एसीएल

हम सिम्फनी 2 और एफओएसयूसरबंडल का उपयोग कर रहे हैं।

हमें पसंद है कि एसीएल सिस्टम कैसे काम करता है, लेकिन हमें समूह ऑब्जेक्ट पर इसे लागू करने का कोई तरीका नहीं मिला।

क्या किसी ने सिम्फनी के साथ ऐसा कुछ किया है? या क्या आपके पास अन्य तरीकों से इसे कार्यान्वित करने के बारे में कोई सुझाव है?

उत्तर

6

कुकबुक के अनुसार, आप केवल UserSecurityIdentity की बजाय RoleSecurityIdentity का उपयोग कर सकते हैं। तो इसकी मेरी समझ से आपकी भूमिका आपका समूह है। मैं अब इसी तरह के मुद्दे पर काम कर रहा हूं। जब इसके साथ थोड़ा और किया है, तो मैंने कुछ कोड स्निपेट के साथ इसे आजमाएं और अपडेट करें। http://symfony.com/doc/current/cookbook/security/acl_advanced.html

संपादित करें:

हम दूसरी दिशा में चले गए हैं और बदले प्रति नियंत्रक कार्रवाई प्रणाली एक अनुमति के साथ अधिक जा रहे हैं

लेकिन अब के लिए पर एक नजर है। तो प्रत्येक नियंत्रक कार्रवाई एनोटेशन का उपयोग कर एक अनुमति नाम असाइन किया गया है।

#SomeDomain/SomeBundle/Controller/SomeController.php 
/** 
* @Permissions(perm="some.name.for.the.node") 
*/ 
public function indexAction(){ ... } 

तब हमारे पास एक सेवा के साथ अनुमति बंडल है जो नियंत्रक फ़ंक्शन कहलाता है जब अनुमतियों की जांच करता है। हमारे व्यवस्थापक को एक जीयूआई दिया जाता है जो उन्हें समूहों की अनुमतियों और व्यक्तिगत उपयोगकर्ताओं की अनुमतियों को प्रबंधित करने की अनुमति देगा।

इस सार है कि प्रेरित हम क्या कर रहे चेक आउट: https://gist.github.com/1391850

इम बारे में पता इस एसीएल प्रणाली आप देख रहे थे is not लेकिन अभी मैं हम क्या कर रहे साथ अद्यतन होगा सोचा।

+0

हैलो वहाँ! रुचि के लिए धन्यवाद :) स्निपेट के लिए तत्पर हैं – mokagio

+0

मेरा उत्तर अपडेट किया गया, क्षमा करें यह हो सकता है कि आप जो खोज रहे हैं वह हो। – Chausser

संबंधित मुद्दे