जैसा कि क्रोकोडिल्को ने अपनी टिप्पणी में लिखा है, यह आपके लिए आवश्यक लचीलेपन के स्तर पर निर्भर करता है।
मैंने अपने ग्राहकों में से एक के लिए भूमिका आधारित अनुमतियों को निम्नानुसार लागू किया है:
- उपयोगकर्ता (उपयोगकर्ता आईडी (पीके), उपयोगकर्ता नाम (अद्वितीय), पासवर्ड (नमकीन और हैशेड! ), पहला नाम, उपनाम, फोन आदि')
- भूमिका (भूमिका आईडी (पीके), भूमिका का नाम (अद्वितीय), भूमिका विवरण)
- अनुमति (अनुमति आईडी (पीके), अनुमति नाम (अद्वितीय)) - टैब / स्क्रीन / क्रियाएं यहां जाती हैं
- उपयोगकर्ता से भूमिका (उपयोगकर्ता आईडी, भूमिका आईडी) - पीके दोनों कॉलम संयुक्त हैं
- अनुमति के लिए भूमिका (भूमिका आईडी, अनुमति आईडी) - पीके दोनों कॉलम संयुक्त हैं
लेकिन मेरी आवश्यकता यथासंभव लचीली होने की थी, और यह एक ऐसी प्रणाली है जो अभी भी बढ़ रही है (6 साल और गिनती)।
मुझे लगता है कि मेरे मामले में बहुत से अनुप्रयोगों के लिए उपयोगकर्ता को एक से कई संबंधों के रूप में भूमिका निभानी पड़ सकती है, लेकिन मैं किसी भी एप्लिकेशन में अनुमतियों के लिए हार्ड कोडिंग अनुमतियों या भूमिका की भूमिका नहीं निभाऊंगा।
आगे की व्याख्या:भूमिका आधारित सुरक्षा डेटाबेस डिज़ाइनए> पर # मुझे क्या पता है?