एक JACC प्रदाता उस सर्वर पर प्रिंसिपल-टू-रोल मैपिंग सुविधाओं का उपयोग कैसे कर सकता है, जिस पर वह तैनात है?


154

मैं एक JACCप्रदाता लिख रहा हूं ।

रास्ते के साथ, इसका मतलब है एक को लागू करना PolicyConfiguration

PolicyConfigurationअनुप्रयोग सर्वर, से विन्यास जानकारी को स्वीकार करने के लिए जिम्मेदार है जैसे कौन से अनुमतियाँ जो भूमिकाओं के लिए एकत्रित होने है। यह इतना है कि Policyबाद में चालू उपयोगकर्ता के बारे में जानकारी देने और वह क्या करने की कोशिश कर रहा है, इस बारे में प्राधिकरण निर्णय कर सकता है।

हालांकि, यह PolicyConfigurationभूमिकाओं और उनकी अनुमतियों के बीच मानचित्रण बनाए रखने के लिए 's (अत्याचारी) अनुबंध का हिस्सा नहीं है , और Principalsयह कि उन भूमिकाओं को सौंपा गया है।

आमतौर पर - हमेशा, वास्तव में - एक एप्लिकेशन सर्वर इस मैपिंग को हाउस करता है। उदाहरण के लिए, Glassfish पर, आप जैसी चीजों की आपूर्ति करके इस मानचित्रण को प्रभावित sun-web.xmlऔर sun-ejb-jar.xmlअपने जावा ईई मॉड्यूल के साथ पर और इतने। (ये विक्रेता-विशिष्ट फाइलें कहने के लिए जिम्मेदार हैं, उदाहरण के लिए, superusersएक समूह है जिसे आवेदन की भूमिका सौंपी जानी है admins।)

मैं इन फ़ाइलों की आपूर्ति की कार्यक्षमता का पुन: उपयोग करना चाहूंगा, और मैं संभव के रूप में अनुप्रयोग सर्वर की एक विस्तृत श्रृंखला के लिए ऐसा करना चाहूंगा।

यहाँ है - पूरी तरह से मनमाने ढंग से - इस मामले पर आईबीएम की राय, जो मेरे संदेह की पुष्टि करता प्रतीत होता है कि मैं जो करना चाहता हूं वह अनिवार्य रूप से असंभव है । (मेरे मामले के लिए अधिक गोला-बारूद कि यह विशेष रूप से जावा ईई अनुबंध उस कागज के लायक नहीं है जिस पर यह मुद्रित है।)

मेरा प्रश्न: मुझे इस प्रिंसिपल-टू-रोल-मैपिंग की जानकारी कैसे मिलती है - शुरुआत के लिए - ग्लासफिश और जेबॉस ए के भीतर PolicyConfiguration? अगर ऐसा करने का कोई मानक तरीका है जिससे मैं अनजान हूं, तो मैं सभी कानों के पास हूं।


7
क्या आपने इस मुद्दे पर कोई प्रगति की है? मैं एक JACC प्रदाता भी लिखना चाहता हूं, और पोर्टेबल वेब अनुप्रयोगों के निर्माण के लिए एक JASPIC प्रमाणीकरण प्रदाता भी ...
20

यह बहुत आशाजनक नहीं है: या तो Because JSR-115 does not define how to address role mapping, WebLogic JACC classes are used for role-to-principal mapping.देखें docs.oracle.com/cd/E24329_01/web.1211/e24485/…
Arjan Tijms

2
इस समय मेरा कहना यह है कि आपको हमेशा यह सुनिश्चित करना है कि आपका JACC प्रदाता JASPIC प्रदाता के साथ युग्मित है जिसे आप लिखने के लिए भी बाध्य हैं। मैं अभी तक इस मार्ग पर नहीं गया हूं, लेकिन यह कोशिश करने के लिए मेरी मेज पर है।
लेयर्ड नेल्सन

@LairdNelson, यदि आपके पास समय है, तो आपको संभवतः अपनी JASPIC टिप्पणी के चारों ओर एक उत्तर लिखना चाहिए। यह आशाजनक लगता है, और इस सवाल पर 300 प्रतिष्ठा का इनाम है।
जिम्हार्क

5
नमस्ते; किसी को सस्पेंस में रखने की कोशिश नहीं की जा रही है। :-) मेरे पास यहाँ कोई उत्तर नहीं है जिसे मैं जल्दबाज़ी में मार सकता हूँ। मुझे याद है कि रॉन मोनज़िलो ने मुझे सलाह दी कि प्रिंसिपल-टू-रोल असाइनमेंट पाने का एकमात्र तरीका "JACC प्रोवाइडर एक तरह से है कि यह समझ सकता है कि इसे JASPIC क्रियान्वयन को प्रभावी रूप से युग्मित करना है।
लैयर्ड नेल्सन

जवाबों:


3

संक्षिप्त उत्तर है: इसे करने का कोई मानक तरीका नहीं है।

हालांकि ग्लासफिश और जेबॉस प्रिंसिपल-टू-रोल मैपिंग का समर्थन करते हैं, जेएसीसी सभी कंटेनरों को नहीं मानती है, और इसलिए यह उन मैपिंग को जेएसीसी प्रदाता कार्यान्वयन के लिए जिम्मेदार रखता है। डॉक्स से (देखें: PolicyConfiguration.addToRoleविधि ):

यह सुनिश्चित करना नीति प्रदाता का काम है कि किसी भूमिका में जोड़े गए सभी अनुमतियों को प्रिंसिपल को "भूमिका के लिए मैप" किया जाए।

दूसरे शब्दों में, आपको प्रत्येक कंटेनर के लिए अपने जेएसीसी प्रदाता के अंदर खुद को लागू करने की आवश्यकता है। JBoss के लिए, उदाहरण के लिए, आप एक उपवर्ग का उपयोग कर सकते हैं AbstractRolesMappingProvider


एक तरफ के रूप में, एक पोर्टेबल प्रदाता कंटेनर रोल मैपिंग को अनदेखा करना चुन सकता है; उदाहरण के लिए, यह अनुमान लगाया जा सकता है कि कोई भी प्राचार्य एक ही नाम की एक आवेदन भूमिका का तात्पर्य करता है, जब तक कि आवेदन किसी तरह से ( PolicyContextHandlerविशेष रूप से उस उद्देश्य के लिए प्रदाता द्वारा पंजीकृत) उदाहरण के लिए, अन्यथा प्राप्त होता है। एक अन्य प्रदाता भी भूमिकाओं की धारणा की पूरी तरह से अवहेलना कर सकता है (और इसलिए कंटेनर प्रदान की गई PolicyConfiguration), इसके बजाय केवल (एप्लिकेशन-प्रदत्त) प्रिंसिपल-टू-परमिशन मैपिंग (और जहां उन अनुमतियों को JACC के लोगों तक सीमित करने की आवश्यकता नहीं है) पर काम कर रहा है।
उक्स २

साइड नोट # 2: जावा ईई 8 के रूप में, 1: 1 समूह-से-भूमिका मानचित्रण नया डिफ़ॉल्ट बन गया है (जो कि केवल हमें वहां आधा मिलता है, क्योंकि भूमिकाएं अभी भी सांख्यिकीय रूप से घोषित की जानी चाहिए - कोई कस्टम JACC प्रदाता नहीं। प्रभाव में)।
उक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.