मैं इंट्रानेट साइट के एक्सेस कंट्रोल को कार्यान्वित कर रहा हूं। जो आसान होगा, अगर कंपनी के पास 200+ कर्मचारी नहीं थे और लगभग हर किसी के लिए कस्टम अनुमतियां नहीं थीं। यह पागलपन है, मुझे पता है, लेकिन मैं इसे बदल नहीं सकता।क्या नियम आधारित पहुंच नियंत्रण का एक सरल सामान्य कार्यान्वयन है?
तो, मैंने एक सामान्य कार्यान्वयन खोजने की कोशिश की जो मेरी आवश्यकताओं को पूरा करेगी, लेकिन इसे नहीं मिला, इसलिए मैं इसे स्वयं करने गया। अंत में, मैं एक काफी सामान्य समाधान के साथ आया जिसने मुझे सोचा: किसी ने इसे पहले किया होगा!
मैंने इसे रोक दिया (विषय कार्य ऑब्जेक्ट अनुमति) एक्सेस कंट्रोल।
.-------. .-----------. .-------.
| users |1---*| STOPRules |*---1| tasks |
`-------' '-----------' '-------'
एक बंद नियम निम्नलिखित गुण
STOPRule {
Subject;
Task;
ObjectType;
Permission;
Relation;
}
वस्तु संबंध हो सकता है: मैं निम्नलिखित रिश्ता नहीं है मालिक, निर्माता, Revisor, आदि इस क्षेत्र की आवश्यकता नहीं है, का समर्थन करने के सामान्य कार्य जब यह वहां होता है, तो वर्तमान उपयोगकर्ता और ऑब्जेक्ट इंस्टेंस के बीच संबंध एक प्रतिनिधि द्वारा गणना की जाती है। इसके बाद मौजूदा संबंध को नियम पर आवश्यक संबंध के साथ तुलना की अनुमति देने या इनकार करने के लिए तुलना की जाती है।
मुझे बताएं कि क्या मैं पर्याप्त स्पष्ट नहीं था।
दो सवाल उठता है:
वहाँ इस तरह एक खुला स्रोत कार्यान्वयन है?
क्या आपको इस समस्या के बाद मुझे कोई समस्या दिखाई दे रही है?
संपादित करें: मैं आगे चला गया और वास्तव में इस मॉडल को लागू करने शुरू कर दिया। पहली समस्या यह थी कि मुझे किसी भी उपयोग के मामले का समर्थन करने के लिए विषय और वस्तु के बीच संबंध की आवश्यकता थी। अब, मैं निम्नलिखित नियम स्टोर कर सकते हैं:
जॉन (विषय) कर सकते हैं की (अनुमति) संपादित (कार्य) एक आदेश (वस्तु) अगर वह निर्माता (संबंध) है आदेश।
कृपया, क्या आप लोग एक वास्तविक उपयोग केस प्रदान कर सकते हैं जिसे इस मॉडल का उपयोग करके व्यक्त नहीं किया जा सकता है?
+1 "कार्यालय स्थान" प्रकार के वातावरण के लिए +1 - आप शायद सभी टीपीएस रिपोर्ट भी भरें। – JonH
आपके मॉडल डिज़ाइन के लिए एक तरफ के रूप में, [रोल आधारित एक्सेस कंट्रोल] (http://en.wikipedia.org/wiki/Role-based_access_control) ध्वनि की तरह बिल मॉडल के अनुसार फिट बैठता है? आपका शीर्षक इस के बहुत करीब था, मुझे आश्चर्य हुआ कि क्या आप मूल रूप से यही मतलब है। –
@Ninefingers नहीं, दुर्भाग्य से यह नहीं है। रोले-आधारित एसी और रूल-आधारित एसी समान परिवर्णी साझा करते हैं लेकिन अलग हैं और मेरा दूसरा मतलब है। नियम-आधारित एसी पर, एक्सेस के नियमों को ऑब्जेक्ट (या संसाधन) में सुरक्षित किया जाना चाहिए (एक परिचालन प्रणाली दृश्य से बोलना) इसे वेब पर अपनाना, मैंने देखा है कि ज़ेंड पर एसीएल कार्यान्वयन Zend_Acl है ढांचा, लेकिन यह मुझे सभी अनुमतियों को लोड करने की अपेक्षा करता है, क्योंकि यह रोल है और नियम आधारित नहीं है, यह मानता है कि यह बहुत कम अनुमति नियम होगा। – svallory