मैं अपने वेब एप्लिकेशन को सुरक्षित करने के लिए अपाचे शिरो फ्रेमवर्क का उपयोग करने की कोशिश कर रहा हूं (यूआई वैडिन 6 पर आधारित है)। शिरो की साइट पर सभी उदाहरणों के माध्यम से देखा गया और घंटों तक भी गुगल रहा, लेकिन मुझे निम्नलिखित आवश्यकताओं से निपटने के लिए एक साफ रास्ता नहीं मिल रहा है।अपाचे शिरो का उपयोग करके पदानुक्रमित भूमिकाओं/अनुमतियों से कैसे निपटें?
मान लीजिए एप्लिकेशन एक प्रकार का प्रोजेक्ट प्रबंधन उपकरण है, जहां उपयोगकर्ता गतिविधियां बना रहे हैं, जो कंपनी पदानुक्रम में विशेष विभागों से संबंधित हैं। प्रत्येक उपयोगकर्ता कई विभागों में काम कर सकता है और प्रत्येक विभाग में अलग-अलग सुरक्षा भूमिकाएं निभाती हैं। उदाहरण:
Department A - User is 'Manager' here Department B Department C - User is 'Admin' here Department D
उपयोगकर्ता में विभाग एक उपयोगकर्ता 'प्रबंधक' है भी विभाग डी (जो विभाग सी का पूर्वज है) के लिए 'व्यवस्थापक' भूमिका के वारिस चाहिए में विभाग सी उपयोगकर्ता 'व्यवस्थापक' है।
तो, बुनियादी अनुमति की जांच (यह मानते हुए मैं कुछ विभाग से संबंधित गतिविधि को देखना चाहते) होगा:
- जांच करें कि गतिविधि उपयोगकर्ता को देखने के लिए कोशिश कर रहा है उपयोगकर्ता विभाग के अंतर्गत आता है में एक भूमिका है,
- जांचें कि उपयोगकर्ता को इस विभाग में उनकी भूमिका पर अनुमति देने की आवश्यकता है।
मैं न केवल "सिस्टम व्यापक भूमिका", बल्कि "इस विशेष विभाग में भूमिका" को लागू करने के तरीके को समझने में फंस गया हूं।
मैं उपरोक्त उदाहरण को "स्ट्रिंग: व्यू: 123" जैसे अनुमति स्ट्रिंग में कैसे बदल सकता हूं? और मैं अपने व्यापार तर्क में अनुमति कैसे देखूँगा?
शिरो के साथ एक और संदेह कार्यान्वित किया गया है, मैं कुछ आउट ऑफ़ द बॉक्स समाधान का उपयोग करना चाहता हूं, जो मेरे स्वयं के कार्यान्वयन प्रदान करने के न्यूनतम प्रयास करेगा। हालांकि, ऐसा लगता है कि शिरो के अंतर्निहित कार्यान्वयन केवल साधारण मामलों के लिए डिज़ाइन किए गए हैं। क्या शुरू करने के लिए जटिल प्राधिकरण कार्यान्वयन का कोई उदाहरण है (जो उपरोक्त मामले को कवर कर सकता है)?