2008-09-22 12 views

उत्तर

11

ब्रैंडन सैवेज ने अपने PHP पैकेज "ApplicationACL" पर एक प्रस्तुति दी जो भूमिका-आधारित पहुंच को पूरा कर सकता है या नहीं। PHPGACL भी काम कर सकता है, लेकिन मैं आपको निश्चित रूप से नहीं बता सकता।

मैं आपको बता सकता हूं कि, ज़ेंड फ्रेमवर्क का Zend_ACL घटक रोल-आधारित सेटअप करेगा (हालांकि आपको एक साथ कई भूमिकाओं को जांचने के लिए उपclass करना होगा)। इस बात का एहसास है कि आपको ज़ेंड_एसीएल को खींचना होगा, मुझे विश्वास नहीं है कि यह मोनोलिथिक डाउनलोड (या एसवीएन चेकआउट) से कोई बाहरी निर्भरता है।

Zend_ACL के बारे में अच्छी बात यह है कि इसके भंडारण अज्ञेयवादी हैं। आप या तो इसे हर बार पुनर्निर्माण कर सकते हैं या इसे क्रमबद्ध करने के लिए डिज़ाइन किया गया है (मैं दोनों के संयोजन का उपयोग करता हूं, कैश के लिए क्रमबद्ध करता हूं और डीबी से पुनर्निर्माण करता हूं)।

+1

रॉबर्ट: यह उत्तर इतना पुराना है कि इसकी सलाह का पालन न करना सबसे अच्छा है, भले ही लिंक अभी भी – dcousineau

1

phpgacl http://phpgacl.sourceforge.net/ एक सामान्य एसीएल आधारित अभिगम नियंत्रण ढांचे

जबकि मैं किसी भी सीआई विशिष्ट कार्यान्वयन के बारे में पता नहीं है, मुझे पता है कि आप केवल phpgacl काम करने के लिए मुख्य वर्ग फ़ाइल की जरूरत है। तो मुझे विश्वास है कि सीआई के साथ एकीकरण कोई समस्या नहीं होगी। (मैंने सीआई के साथ निष्क्रियता से काम किया है)

0

खोएस एसीएल के बारे में पता चला जो सीआई लाइब्रेरी है ... मैं phpgacl को भी देख रहा हूं और सीआई के लिए इसका उपयोग कैसे कर रहा हूं ... अभी तक ज़ेंड एसीएल की जांच नहीं की है। लेकिन शायद यह सीआई

29

करने के लिए "पोर्टेड" हो सकता है शायद मैं सवाल गलत समझ रही है, लेकिन लिए भूमिका आधारित पहुँच नियंत्रण (RBAC) के पूरे मुद्दे अभिगम नियंत्रण सूची (एसीएल) से बचने के नहीं है?

RBAC अभिगम नियंत्रण सूची (एसीएल) से अलग है (...) में है कि यह संगठन में अर्थ के साथ विशिष्ट कार्यों के लिए अनुमति प्रदान करती है, बल्कि निम्न स्तर डेटा वस्तुओं के लिए की तुलना में। उदाहरण के लिए, एक एक्सेस कंट्रोल सूची का उपयोग किसी विशेष सिस्टम फ़ाइल में लेखन पहुंच को देने या अस्वीकार करने के लिए किया जा सकता है, लेकिन यह नहीं कहता कि फ़ाइल को किस तरीके से बदला जा सकता है। एक आरबीएसी-आधारित प्रणाली में एक वित्तीय आवेदन (...) में 'क्रेडिट खाता' लेनदेन बनाना एक ऑपरेशन हो सकता है। किसी विशेष ऑपरेशन को करने की अनुमति का असाइनमेंट सार्थक है, क्योंकि संचालन ठीक से दानेदार होते हैं और स्वयं के आवेदन के भीतर इसका अर्थ होता है। (उद्धरण: Wikipedia)

मैं Zend_Acl या अन्य कार्यान्वयन उल्लेख के बारे में विशिष्ट पता नहीं है, लेकिन अगर वे कर रहे हैं एसीएल आधारित है, मैं उन्हें भूमिका आधारित प्राधिकरण के लिए उपयोग करने की अनुशंसा नहीं होता।

+0

jframework rbac काम करते हैं? – AbiusX

+0

मेरे पास भी यही राय है कि इस प्रश्न के लिए गलत उत्तर स्वीकार किया जाता है .. एसीएल और आरबीएसी बहुत अलग है और आरबीएसी पर एक प्रश्न के लिए एक एसीएल समाधान स्वीकार किया जाता है .. –

+0

पेडेंट्री: "मैं भूमिका-आधारित के लिए उनका उपयोग करने की सिफारिश नहीं करता प्रमाणीकरण। " अभिगम नियंत्रण! = प्रमाणीकरण और हाँ, अधिक महत्वपूर्ण रूप से एसीएल! = आरबीएसी^_^ –

0

कोडइग्निटर के लिए DX_Auth प्लगइन आज़माएं। मैं उन कार्यों के समान (बल्कि, सुपरसेट) पर काम कर रहा हूं जो DX_Auth है। सीआई एडन के मेरे सेट में मेन्यू का प्रदर्शन शामिल है (जिसे सीएसएस के माध्यम से नियंत्रित किया जा सकता है), नियंत्रक से पहले रोल-बेस एक्सेस कंट्रोल और अन्य फीचर्स शामिल हैं। मैं जल्द ही इसे प्रकाशित करने की उम्मीद करता हूं। जब मैं ऐसा करता हूं तो प्रोजेक्ट यूआरएल दूंगा

0

आरबीएसी! = एसीएल - रोलैंड के पास इस प्रश्न का एकमात्र सही जवाब है।

बीटीडब्ल्यू निश्चित रूप से यह किसी भी तरह की अनुमति प्रणाली को लागू करने के लिए एक ढांचे का एक अनिवार्य हिस्सा है - कम से कम एक ढांचे का उपयोग करने में कोई मतलब नहीं है, अगर यह आपको एक अच्छी तरह से इंजीनियर आरबीएसी प्रणाली नहीं देता है - यह बेहतर हो सकता है तब किसी भी ओआरएम परत के साथ एक साधारण टेम्पलेट सिस्टम का उपयोग कर।

यह पीएचपी दुनिया में एक आम एंटीपेटर्न है, यह रूबी या डैंजो जैसे ढांचे को केवल "आधुनिक" के रूप में वितरित किया जाता है, जो कि इन आधुनिक ढांचे को वितरित करते हैं - एक सामान्य सिंड्रोम के रूप में आप अच्छे एसीएल या आरबीएसी एकीकरण की कमी देखते हैं ये ढांचे - एक मजाक क्या अनिवार्य रूप से है। वर्तमान में केवल वाईआई PHP फ्रेमवर्क है जो एक सभ्य आरबीएसी कार्यान्वयन के साथ आता है।

0

http://www.jframework.info (Deadlink)

jFramework संवर्द्धन जो सबसे तेजी से उपलब्ध होना कहा जाता है के साथ एक मानक NIST स्तर 2 RBAC है (मानक भी शामिल है) यह एक एकल SQLite डेटाबेस फ़ाइल पर काम कर सकते हैं और अच्छी तरह से परीक्षण किया जाता है, दस्ताने की तरह काम करता है।

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

2

मैंने PHP-Bouncer नामक एक ओपन सोर्स प्रोजेक्ट बनाया जो आपके लिए रूचि रख सकता है। यह अभी भी काफी युवा है, लेकिन अच्छी तरह से काम करता है और कॉन्फ़िगर करना आसान है। मैंने इसे विकसित करना समाप्त कर दिया क्योंकि मौजूदा समाधानों में से कोई भी मेरी आवश्यकताओं को पूरा नहीं कर रहा था। आशा है कि ये आपकी मदद करेगा!

+0

आपकी परियोजना की क्या ज़रूरत है ? अन्यथा यह सिर्फ एक विज्ञापन है। – ftrotter

+2

चूंकि ओपी एक "ओपन सोर्स, पीएचपी आधारित, रोल आधारित एक्सेस कंट्रोल सिस्टम" मांग रहा था, और PHP-बाउंसर एक ओपन सोर्स, पीएचपी आधारित, रोल आधारित एक्सेस कंट्रोल सिस्टम है, मुझे लगा कि यह काफी उपयुक्त होगा। –

+0

लिंक मर चुका है ... – Code4R7

-1

आयन औथ लाइब्रेरी उपयोगकर्ताओं और समूहों का उपयोग करता है - https://github.com/benedmunds/CodeIgniter-Ion-Auth लेकिन उनके उपयोग और प्रबंधन के लिए कोई काम कर रहे आरबीएसी सिस्टम नहीं हैं। लेकिन आप अपने कार्यों को सफ़ेद कर सकते हैं।

0

मैं जानता हूँ कि निशान ठंड है, लेकिन एक नई परियोजना अप पॉपअप है:

पीएचपी-RBAC एक PHP श्रेणीबद्ध NIST स्तर 2 स्टैंडर्ड भूमिका के आधार अभिगम नियंत्रण है और बहुत परिपक्व है। यह एक ओडब्ल्यूएएसपी परियोजना भी है।

मुझे आशा है कि आप यहाँ http://phprbac.net

+0

आपने अन्य प्रश्नों में सटीक वही उत्तर पोस्ट किया .. क्या आप डेवलपर हैं? – Luciano

+0

मैं डेवलपर्स में से एक हूं। – AbiusX

1

पर यह आनंद PHP के लिए मैंने पाया दो RBAC पुस्तकालयों हैं:

मैं वास्तव में PolyAuth में पहले एक प्रयोग किया जाता है : https://github.com/Polycademy/PolyAuth/

यह एक पूर्ण विशेषीकृत लाइथ लाइब्रेरी है जिसमें एनआईएसटी स्तर 1 आरबीएसी शामिल है। और हाँ, आरबीएसी एक एसीएल के समान नहीं है। मैं कोडिनेटर का भी उपयोग करता हूं, आपको बस पीडीओ चालक का उपयोग करना है और कनेक्शन आईडी में पास करना है। यह ट्यूटोरियल देखें कि यह कैसे करें: http://codebyjeff.com/blog/2013/03/codeigniter-with-pdo