मैं अपने सिस्टम में उपयोगकर्ता क्या कर सकता हूं या क्या नहीं कर सकता हूं, इसे प्रतिबंधित करने के लिए रोल बेस एक्सेस कंट्रोल मॉडल का पालन करने की कोशिश कर रहा हूं।
अब तक मेरे पास निम्नलिखित इकाइयाँ हैं:
उपयोगकर्ता - जो लोग सिस्टम का उपयोग करेंगे। यहां मेरे पास उपयोगकर्ता नाम और पासवर्ड हैं। भूमिकाएँ - उन भूमिकाओं का संग्रह जो उपयोगकर्ता कर सकते हैं। प्रबंधक, व्यवस्थापक, आदि संसाधनों की तरह - चीजें जो उपयोगकर्ता हेरफेर कर सकते हैं। जैसे कॉन्ट्रैक्ट, उपयोगकर्ता, कॉन्ट्रैक्ट ड्राफ्ट, आदि ऑपरेशंस - वे चीजें जो उपयोगकर्ता संसाधनों के साथ कर सकते हैं। जैसे क्रिएट, रीड, अपडेट या डिलीट।
अब, मेरा संदेह यहाँ आरेख में उभरता है जहाँ मेरा इस तरह से संबंध है:
संचालन (0 .. *) संसाधनों पर निष्पादित किए जाते हैं (0 .. *) जो एक तालिका उत्पन्न करता है जिसे मैं अनुमति देता हूं और जो ऑपरेशन और संसाधन को संग्रहीत करेगा ।
अनुमतियाँ तालिका इस तरह दिखाई देगी (इसकी एक पंक्ति): ID: 1, संचालन: निर्माण, संसाधन: अनुबंध।
जो एक का मतलब है की अनुमति के लिए बनाने के लिए एक अनुबंध ।
मैंने इसे इस तरह से किया है क्योंकि मुझे लगता है कि कुछ संसाधनों में सभी प्रकार के ऑपरेशन नहीं हो सकते हैं। उदाहरण के लिए, अनुबंध दर्ज करने के लिए , उपयोगकर्ता फाइलें अपलोड कर सकते हैं , लेकिन प्रदाता के पंजीकरण के लिए यह ऑपरेशन उपलब्ध नहीं है ।
तो अब जब व्यवस्थापक दे दिया जाएगा अनुमतियाँ एक करने के लिए भूमिका है, वह हर एक प्रणाली में पंजीकृत संचालन के साथ संसाधनों की सूची नहीं होगा।
मुझे लगता है कि प्रत्येक संसाधन के संचालन का अपना संग्रह है जिसे उस पर निष्पादित किया जा सकता है।
अगर कुछ समझ में नहीं आ रहा है तो मैं स्पष्ट कर सकता हूं।
क्या यह rbac को लागू करने का सही तरीका है?
संपादित करें
मेरा मतलब है कि एक अनुमति तालिका है जिसमें ऑपरेशन और संसाधन हैं , मेरे पास दो अतिरिक्त टेबल हैं क्योंकि मैं संसाधनों को संचालन के साथ जोड़ना चाहता हूं । मैं भी कर सकता था बस संसाधनों की अनुमति है जहां अनुमति तालिका अनुमतियों को संग्रहीत करेगी।
लेकिन फिर क्या हुआ होगा कि कुछ अनुमतियाँ जो कुछ संसाधनों के लिए भी मौजूद नहीं हैं, तब प्रकट होगी जब व्यवस्थापक उन्हें असाइन करेगा।
इसलिए मैं एक डेटाबेस डिजाइन बिंदु से जानना चाहता हूं कि क्या यह तालिका अनुमति जिसमें एक कॉलम ऑपरेशन है और दूसरा संसाधन सही है? अगर मैं इस तरह रहता हूं तो क्या मैं समस्याओं में चला जाऊंगा?