इंसान के लिए जेएएएस


83

मुझे जेएएएस समझने में कठिन समय आ रहा है। यह सब अधिक जटिल लगता है, क्योंकि यह (विशेष रूप से सूर्य ट्यूटोरियल) होना चाहिए। मुझे कस्टम उपयोगकर्ता रिपॉजिटरी के साथ स्ट्रट्स + स्प्रिंग + हाइबरनेट के आधार पर जावा एप्लिकेशन में सुरक्षा (प्रमाणीकरण + प्राधिकरण) को लागू करने के तरीके पर एक सरल ट्यूटोरियल या उदाहरण की आवश्यकता है। ACEGI का उपयोग करके लागू किया जा सकता है।


बहुत बढ़िया सवाल। एक वैध प्रलेखन विफलता के लिए महान pithy शीर्षक।
गुइडो एंसेलमी

JAAS पर सर्वश्रेष्ठ प्रश्नोत्तर। मैं एक बहुत मुश्किल समय के साथ शुरू करने की कोशिश कर रहा हूँ।
cristiandley

@mattb, यदि संभव हो तो मैं एक परिशिष्ट बनाना चाहूंगा। मुझे विश्वास है कि मेरे उत्तर से आपके प्रश्न को समझने में मदद मिल सकती है। वैचारिक रूप से कह रहे हैं।
pss1suporte

जवाबों:


23

यहाँ कुछ लिंक दिए गए हैं जिनका उपयोग मैंने JAAS को समझने में किया है:

http://www.owasp.org/index.php/JAAS_Tomcat_Login_Module

http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html

http://jaasbook.wordpress.com/

http://roneiv.wordpress.com/2008/02/18/jaas-authentication-mechanism-is-it-possible-to-force-j_security_check-to-go-to-a-specific-page/

Apache tomcat realms विन्यास पर भी एक नज़र है कि कैसे:

http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html


3
Jaasbook के लिए लिंक मृत है। अब इसे jaasbook.wordpress.com पर
एरिक बी।

@ मर्टलार्क, यदि संभव हो तो मैं एक परिशिष्ट बनाना चाहूंगा। मुझे विश्वास है कि मेरे उत्तर से आपके उत्तर को समझने में मदद मिल सकती है। वैचारिक रूप से कह रहे हैं।
pss1suporte

51

अन्य उपयोगकर्ताओं को ऊपर कुछ बहुत उपयोगी लिंक उपलब्ध हैं इसलिए मैं लिंक से परेशान नहीं होने जा रहा हूं। मैंने वेब एप्लिकेशन के लिए जेएएएस में एक समान शोध किया है और "माइंड राउटर" में चला गया है, जब तक कि मुझे अंत में यह नहीं पता चलता कि जेएएएस एक अलग "लेयर" पर सुरक्षा से निपटने वाला एक फ्रेमवर्क है, तब जावा वर्ल्ड में वेब एप्लिकेशन। यह जावा एसई नहीं जावा ईई में सुरक्षा मुद्दों से निपटने के लिए बनाया गया है।

जेएएएस एक सुरक्षा ढांचा है जो बहुत निचले स्तर पर चीजों को हासिल करने के लिए बनाया जाता है। इन चीजों के कुछ उदाहरण JVM स्तर पर उपलब्ध कोड और संसाधन हैं, इसलिए ये सभी JVM स्तर में नीति फ़ाइलों को सेट करने की क्षमता रखते हैं।

हालाँकि, चूंकि जावा ईई जावा एसई के शीर्ष पर बनाया गया है, इसलिए जेएएएस के कुछ मॉड्यूल जावा ईई सुरक्षा में पुन: उपयोग किए गए थे जैसे कि लॉगिनमॉडल्स और कॉलबैक।

ध्यान दें कि जावा ईई सुरक्षा के अलावा, वसंत सुरक्षा भी है (जिसे पहले ऐसगी के रूप में जाना जाता था), जो कि मूल जावा ईई सुरक्षा के समान ही सुरक्षित वेब-एप्लिकेशन समस्या में बहुत अधिक "परत" से निपटती है। यह एक अलग सुरक्षा कार्यान्वयन है और मानक जावा ईई सुरक्षा के शीर्ष पर नहीं बनाया गया है, हालांकि यह कई मामलों में समान व्यवहार करता है।

संक्षेप में, जब तक आप जावा एसई स्तर (कक्षाओं, सिस्टम संसाधनों) में सुरक्षित संसाधनों को नहीं देख रहे हैं, मुझे सामान्य वर्ग और इंटरफेस का उपयोग करने के अलावा जेएएएस का कोई वास्तविक उपयोग नहीं दिखता है। बस स्प्रिंग सिक्योरिटी या सादे पुराने जावा ईई सुरक्षा का उपयोग करने पर ध्यान केंद्रित करें, जो दोनों बहुत से सामान्य वेब एप्लिकेशन सुरक्षा समस्याओं को हल करते हैं।


2
जावा ईई 6 ट्यूटोरियल बुनियादी सुरक्षा अवधारणाओं को समझता है, इसलिए JAAS का थोड़ा अवलोकन चोट नहीं पहुंचाएगा।
जैकट्रेड्स

JAAS पर सबसे अच्छा स्पष्टीकरण कभी!
डेविड हॉफमैन

@ निशु, मैं अगर संभव हो तो एक परिशिष्ट बनाना चाहूंगा। मुझे विश्वास है कि मेरे उत्तर से आपके उत्तर को समझने में मदद मिल सकती है। वैचारिक रूप से कह रहे हैं।
pss1suporte

11

javax.security imho overcomplicated एपीआई है। परिणामस्वरूप, न केवल LoginModules के कार्यान्वयनकर्ता होते हैं, बल्कि संपूर्ण प्रमाणीकरण और प्राधिकरण एपीआई, जो कि प्रमाणीकरण और प्राधिकरण प्रबंधकों की तरह ऊपर से अमूर्त परत बनाता है।

शुरुआत के लिए, यह मुद्रित करने के लिए अच्छा है यह अपनी स्मृति में।

दूसरी बात, जेएएएस के लिए सबसे सरल, सेटअप और गो लाइब्रेरी है, जोबॉस पिकेटबॉक्स है । यह कहता है कि JBossAuthenticationManager और JBossAuthorizationManager के माध्यम से प्रमाणीकरण और प्राधिकरण कैसे करें ... XML या एनोटेशन के माध्यम से आसानी से कॉन्फ़िगर किया जा सकता है। आप इसे वेबएप और स्टैंडअलोन दोनों अनुप्रयोगों के प्रबंधन के लिए उपयोग कर सकते हैं।

यदि आपको संसाधनों के लिए ACL के संदर्भ में, रिपॉजिटरी एक्सेस के प्रबंधन के लिए प्राधिकरण भाग की आवश्यकता है, तो यह वही है जो आप सुनिश्चित कर रहे हैं।

सुरक्षा के साथ समस्या यह है कि आमतौर पर आपको इसे अपनी आवश्यकताओं के अनुसार अनुकूलित करने की आवश्यकता होती है, इसलिए आप इसे लागू कर सकते हैं:

LoginModule - उपयोगकर्ता नाम + पासवर्ड की पुष्टि करता है

कॉलबैकहैंडलर का उपयोग इस तरह किया जाता हैnew LoginContext("Sample", new MyCallbackHandler());

कॉलबैकहैंडलर अंतर्निहित LoginModules को पारित किया जाता है, ताकि वे उपयोगकर्ताओं के साथ संवाद और बातचीत कर सकें - उदाहरण के लिए, एक ग्राफिकल यूजर इंटरफेस के माध्यम से उपयोगकर्ता नाम और पासवर्ड के लिए संकेत देना। तो हैंडलर के अंदर आपको उपयोगकर्ता से उपयोगकर्ता नाम और पासवर्ड प्राप्त होता है और यह LoginModule को दिया जाता है।

LoginContext - तो आप सिर्फ lc.login () कहते हैं; और प्रमाणिकता प्रमाणित करें। LoginContext प्रामाणिक विषय के साथ आबाद है।

हालाँकि, Jboss पिकेटबॉक्स आपको जाने का एक आसान तरीका देता है, जब तक कि आपको कुछ विशिष्ट की आवश्यकता न हो।


8

lsiu का जवाब यहाँ कुछ उत्तर हैं जो वास्तव में "इसे प्राप्त करते हैं";)

उस उत्तर को जोड़ते हुए, इस विषय पर एक बहुत अच्छा संदर्भ जेएएएस के लिए जो भी हुआ?

यह बताता है कि कैसे जेएएसपीआईसी सर्वलेट और ईजेबी सुरक्षा मॉडल और संभावित रूप से जेएएएस लॉगिन मॉड्यूल के बीच जावा ईई में लिंक है, लेकिन यह है कि कई मामलों में जावा ईई में अपेक्षाकृत सरल उपयोगकर्ता नाम और भूमिका प्रदाता के लिए जेएएएस की भूमिका कम हो जाती है।

एक ही लेखक से JAAS इन द एंटरप्राइज है , जो एक पुराना लेख है, लेकिन जावा SE (JAAS) और जावा ईई मॉडल ने जिस तरह से किया था, उस पर बहुत सारी ऐतिहासिक पृष्ठभूमि प्रदान करता है।

कुल मिलाकर, लेकिन JAAS से कुछ प्रकार के सीधे जावा ईई में किया जाता है, मूल रूप से Principal, Subject, और CallbackHandler। बाद के दो मुख्य रूप से JASPIC द्वारा उपयोग किए जाते हैं। मैंने लेख में JASPIC को जावा EE में कंटेनर प्रमाणीकरण के कार्यान्वयन के लिए JASPIC के साथ समझाया है


2

मैं खुद JAAS से बहुत अधिक नहीं बोल सकता, लेकिन स्प्रिंग सिक्योरिटी पर इस "सुझाए गए कदम" गाइड और संदर्भ मैनुअल दोनों ही स्प्रिंग सिक्योरिटी पर बहुत अच्छे संसाधन हैं - यदि आपका सेटअप सरल के करीब है, तो आपको वास्तव में आवश्यकता नहीं है इनको पढ़ने से कहीं अधिक है।


"सुझाए गए चरण" मार्गदर्शिका यहाँ स्थानांतरित हो गई है: static.springsource.org/spring-security/site/start-here.html
अलोपी

1

विशुद्ध रूप से JAAS ट्यूटोरियल के लिए इसे देखें । यह पुराना है, लेकिन जेएएएस मूल बातें के साथ मदद करनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.