2012-07-30 15 views
7

मैंने वेब.एक्सएमएल (जावा-वेबकॉन्टेनर) के भीतर सफलतापूर्वक फॉर्म-प्रमाणीकरण सेटअप किया है।web.xml, फॉर्म और मूल प्रमाणीकरण का उपयोग कर

मुझे फॉर्म-प्रमाणीकरण का उपयोग करते समय अपने क्लाइंट से आराम-यूरी के अनुरोध-अनुरोध के भीतर उपयोगकर्ता नाम/पासवर्ड भेजने का कोई तरीका नहीं मिला। तो मुझे केवल आराम-यूरी के लिए बेसिक-प्रमाणीकरण का उपयोग करना होगा।

कैसे मैं दोनों प्रपत्र-आधारित प्रमाणीकरण और बुनियादी प्रमाणीकरण सेट अप कर सकते हैं:

तो मैं इस सवाल है? मूल प्रमाणीकरण केवल शोकहारा-uri के लिए सक्षम होना चाहिए।

+0

आप अभी भी इस सवाल का जवाब में रुचि है? – Olaf

+0

हाँ! मैं छुट्टियों में किया गया था :) – nimo23

उत्तर

6

थोड़ी देर के लिए यहां कोई प्रतिक्रिया नहीं थी, इसलिए मैंने एक त्वरित सर्वलेट खुद को रीफ्रेश किया। सर्वलेट चश्मा वास्तव में केवल एक <login-config> तत्व प्रति वेब अनुप्रयोग की अनुमति देते हैं, इसलिए आरईएसटी एपीआई के लिए बेसिक ऑटेटिकेशन के साथ एक प्रविष्टि बिंदु और दूसरा यूआई के लिए फॉर्म-आधारित प्रमाणीकरण के साथ कोई तरीका नहीं है। एकमात्र विकल्प उन्हें दो स्वतंत्र रूप से तैनाती योग्य अनुप्रयोगों के रूप में बनाना है। कोड डुप्लिकेशन से बचने के लिए, यह एक अच्छा विचार हो सकता है कि UI अनुप्रयोग को आरईएसटी एपीआई से बात करने दें, वैसे ही तीसरे पक्ष के क्लाइंट को माना जाता है।

+0

मुझे आशा है कि, यह भविष्य सर्वलेट चश्मा में संभव नहीं होगा। शायद हमें एक फीचर अनुरोध करना चाहिए? – nimo23

7

मैं भी एक ऐसी ही समस्या का सामना करना पड़ रहा था और मैंने महसूस किया कि उसके बाद इसके संभावित web.xml का उपयोग कर कई तंत्र को कॉन्फ़िगर करने के लिए यदि आप Wildfly उपयोग कर रहे हैं: -

<auth-method>BASIC?silent=true,FORM</auth-method> 

इस मूक बुनियादी प्रमाणीकरण का उपयोग करते हुए पहले की कोशिश की जाएगी, जो मूल प्रमाणीकरण है जो प्राधिकरण शीर्षलेख मौजूद होने पर ही प्रभावी होता है। यदि ऐसा कोई हेडर मौजूद नहीं है तो इसके बजाय फॉर्म प्रमाणीकरण का उपयोग किया जाएगा।

हो सकता है कि इसकी भी एक उत्तर के लिए देर हो चुकी है, लेकिन मैं सिर्फ मामले में किसी को इस अद्यतन इस उपयोगी पाता है: पी

+1

बहुत बहुत धन्यवाद। यह बहुत मदद करता है। बहुत समय बचाओ। –

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