2013-01-08 6 views
6

जेटी के main project page पर जेएएसपीआई (जेएएसपीआईसी/जेएसआर 1 9 6) के साथ संगतता का उल्लेख किया गया है।जेटी पर जैस्पी/जैस्पीक का उपयोग कैसे करें?

हालांकि, distribution of Jetty 8 में जेएएसपीआई से संबंधित कोई भी वर्ग शामिल नहीं है। [जेटी होम]/lib में jetty-security-8.1.8.v20121106.jar जार है, लेकिन इसमें कोई भी जैस्पीक/जेएएसपीआई प्रकार नहीं है।

जेटी विकी पर documentation about JASPIC/JASPI केवल प्लेसहोल्डर है और इसमें कोई जानकारी नहीं है।

कुछ गूगलिंग के बाद मुझे JavaDocs on the Eclipse site मिला और पता चला कि jetty-jaspi-8.1.8.v20121106.jarsomewhere होना चाहिए। उन जावा डॉक्स को वितरण में भी शामिल किया गया है। अंत में, jetty-jaspi repo गिथब में दिखाई देता है।

स्पष्ट रूप से कुछ मात्रा में समर्थन उपलब्ध है, लेकिन जेटी वितरण में उन वर्गों का प्रतीत क्यों नहीं होता है और यह कॉन्फ़िगर करने के तरीके पर दस्तावेज़ कहां है? मैं क्या खो रहा हूँ?

उत्तर

8

This project (https://github.com/guofengzh/jaspi-on-jetty) जेटी में जेएएसपीआई एपीआई का एक कामकाजी उदाहरण है जो geronimo-jaspi का उपयोग करता है जो बदले में प्रमाणीकरण के लिए जेटी-जास्पी मॉड्यूल पर कॉल करता है। ऐसा लगता है कि Geronimo विन्यास तंत्र और जेटी प्रमाणीकरण मॉड्यूल खुद को इस उदाहरण में प्रदान कर रहा है।

ऐसा लगता है कि आप एक फॉर्म, डाइजेस्ट या मूल प्रमाणीकरण विधियों का चयन कर सकते हैं। फॉर्म आधारित लॉगिन का त्वरित परीक्षण दिखाया गया है कि यह कार्य करता प्रतीत होता है।

<Set name="securityHandler"> 
    <New class="org.eclipse.jetty.security.ConstraintSecurityHandler"> 
    <Set name="loginService"> 
     <New class="org.eclipse.jetty.plus.jaas.JAASLoginService"> 
     <Set name="name">JAASRealm</Set> 
     <Set name="loginModuleName">jaas</Set> 
     </New> 
    </Set> 

    <Set name="authenticatorFactory"> 
     <New class="org.eclipse.jetty.security.jaspi.JaspiAuthenticatorFactory" /> 
    </Set> 
    </New> 
</Set> 

और jaspi विन्यास फाइल pom.xml फ़ाइल में एक प्रणाली के माध्यम से संपत्ति संदर्भित है:

<systemProperty> 
    <name>org.apache.geronimo.jaspic.configurationFile</name> 
    <value>./conf/jaspi/form-test-jaspi-2.xml</value> 
</systemProperty> 

Jaspi प्रमाणीकरण कारखाने तो जैसे घाट-web.xml में सेटअप है

साथ ही, jaspi पुस्तकालय आप का उल्लेख किया, पोम में एक निर्भरता के रूप में जोड़ा जाता है Geronimo jaspi कार्यान्वयन के साथ:

<dependency> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-jaspi</artifactId> 
    <version>${jetty.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.geronimo.components</groupId> 
    <artifactId>geronimo-jaspi</artifactId> 
    <version>2.0.0</version> 
</dependency> 

मैं इस विषय पर दस्तावेज खोजने में भी असमर्थ हूं। ऐसा लगता है कि जेटी-जैस्पी मॉड्यूल standard start options में से एक नहीं है, लेकिन $ {jetty.home/lib/ext} निर्देशिका में जोड़ा जा सकता है (Jetty classloading देखें)।

+1

एक अच्छा जवाब की तरह दिखता है :) मैं अभी भी अंधेरे में थोड़ा सा हूं कि क्यों jaspi javadocs वितरण में हैं, लेकिन वास्तविक कोड नहीं। दो बाहरी libs की आवश्यकता के लिए होमपेज पर जास्पि का समर्थन करने का दावा भी संदिग्ध है। उसी टोकन से, टोमकैट जेएसएफ संगत होने का दावा कर सकता है: | लेकिन, हां, मैं आपका उदाहरण आज़माउंगा;) –

+0

मैं जेटी की मॉड्यूलर प्रकृति की तरह काफी हूं, आप केवल उन्हीं सुविधाओं को सक्षम कर सकते हैं जिनके लिए आपको आवश्यकता है और हल्के रनटाइम हैं। मैं javadocs + बाहरी lib के बारे में अपना मुद्दा लेता हूं; दस्तावेज से यह स्पष्ट नहीं है कि जेटी इस सुविधा का समर्थन कैसे करती है। – diffa

+3

हाँ, यह जेटी में कई वर्षों से समर्थित है, लेकिन कुछ जो मैंने व्यक्तिगत रूप से सुना है, मैंने सक्षम करने के मामले में बहुत कुछ नहीं सोचा है, यह बड़े पैमाने पर जेरोनीमो से दूसरे कमिश्नर (डेविड जेनक्स) का काम था। हमें इसे नए दस्तावेज़ दस्तावेज़ में लाने की आवश्यकता है, हालांकि, इसके लिए दस्तावेज़ों में पुल अनुरोध देखना अच्छा लगेगा! –

संबंधित मुद्दे