2012-09-01 47 views
5

मैं मानसिक रूप से Apache Shiro की की अवधारणाओं के जावा ईई समूहों, उपयोगकर्ताओं और भूमिकाओं के 6 सुरक्षा अवधारणाओं मैप करने के लिए कोशिश कर रहा हूँ -वसेस- भूमिका, उपयोगकर्ता और अनुमतियां और मेरी समझ यह है कि वे असंगत हैं।जावा ईई 6 समूहों, उपयोगकर्ताओं और भूमिकाओं Shiro की भूमिकाओं, उपयोगकर्ता और अनुमतियां

Java EE 6 security tutorial ऐसा लगता है कि मॉडल अत्यंत सीमित है के माध्यम से पढ़ना: समूहों एक प्रति सर्वर, प्रति-अनुप्रयोग नहीं, जिसके आधार पर वास्तव में प्राधिकरण तंत्र व्यक्त करने के लिए केवल दो लचीला अवधारणाओं के साथ हमें छोड़ देता पर कॉन्फ़िगर किया गया है: उपयोगकर्ता और भूमिका, एक साधारण 1-से-एन संबंध में मौजूद हैं। इसके विपरीत भूमिकाओं, उपयोगकर्ताओं और अनुमतियाँ की Shiro के मॉडल एक बहुत अधिक गतिशील के बाद से यह टिप्पणी किए गए कोड में अनुमतियों को हार्डकोड और चीजों के रूप में कार्यावधि मेंअनुमतिभूमिकाओं की मैपिंग संशोधित करने के लिए एक सक्षम बनाता है बदलें या नई भूमिकाएं पेश की गई हैं। मैं नहीं देखता कि जावा ईई 6 मॉडल के अनुसार कंटेनर-प्रबंधित प्राधिकरण के साथ कोई भी ऐसा कैसे कर सकता है।

क्या मेरी समझ सही है? कारण यह होगा कि कोई वास्तव में कंटेनर-प्रबंधित प्राधिकरण के साथ बहुत दूर नहीं जा सकता है।

उत्तर

2

वे संगत नहीं हैं और मुझे लगता है कि जावा ईई सुरक्षा के डिजाइनरों ने इसे गलत पाया क्योंकि नियमों के संबंध में शब्दावली बंद हो रही है।

अनुभव से मुझे पता है कि ROLE (जो उनके दस्तावेज़ीकरण में सुझाया गया है) के आधार पर पहुंच नियंत्रण प्रदान करना केवल सड़क के नीचे समस्याएं पैदा करता है जब आप अन्य समूहों/भूमिकाओं की क्षमता खोलना चाहते हैं। भूमिकाओं (या समूह) पर मैप किए गए अनुमति आधारित पहुंच सबसे अच्छा काम करती है क्योंकि यह रिकोड/पुनः-एनोटेट करने के बजाए एक अमूर्त स्तर पर एक रीमेपिंग व्यायाम है।

मैं देख सकता हूं कि आप जावा ईई सुरक्षा मॉडल के बारे में कैसे उलझन में होंगे। मैं सुझाव देता हूं कि शिरो पर नज़र डालें और यह कैसे अनुप्रयोग स्तर की सुरक्षा का मॉडल बना रहा है। शिरो के निर्माता लेस हैज़लवुड ने blog about RBAC लिखा है जो उदाहरण स्तर तक भी ठीक दाग नियंत्रण की आवश्यकता वाले अनुप्रयोगों के लिए बहुत अधिक समझ में आता है।