2010-04-22 20 views
7

मैं वसंत सुरक्षा के साथ वास्तव में एक सरल बुनियादी प्रमाणीकरण करने की कोशिश कर रहा हूं। मैंने नेमस्पेस को ठीक से कॉन्फ़िगर किया है और सर्वर में कोई अपवाद नहीं है। मेरी "servlet.xml" में मैं वसंत सुरक्षा के लिए अगले मिल गया है:वसंत सुरक्षा HTTP मूल प्रमाणीकरण

<security:http> 
    <security:http-basic></security:http-basic> 
    <security:intercept-url method="POST" pattern="/**" access="ROLE_USER" /> 
</security:http> 


<security:authentication-manager alias="authenticationManager"> 
    <security:authentication-provider> 
     <security:user-service> 
      <security:user name="cucu" password="tas" authorities="ROLE_USER" /> 
      <security:user name="bob" password="bobspassword" authorities="ROLE_USER" /> 
     </security:user-service> 
    </security:authentication-provider> 
</security:authentication-manager> 

यह लगभग सभी सही है: तरीकों कि कर रहे हैं प्रवेश करने में कोई प्रपत्र संकेत नहीं देता नहीं POST, और POST विधि यह संकेत देते हैं। समस्या यह है कि न ही cucu, न तो bob वहां लॉगिन कर सकते हैं। क्या कोई देख सकता है कि मैं क्या गलत कर रहा हूं?

अग्रिम धन्यवाद! ;-)

+0

आप स्प्रिंग सुरक्षा किस संस्करण का उपयोग कर रहे हैं? – Gandalf

+0

क्षमा करें, मैं इसे भूल गया, वसंत सुरक्षा 3 – raspayu

+0

क्या आप वास्तविक त्रुटि से स्टैक ट्रेस/आउटपुट पोस्ट कर सकते हैं? – Gandalf

उत्तर

23

ऑटो जवाब

T_T दो इस के लिए कोड के खिलाफ मेरे सिर से टकराने के दिनों ...

ऐसा लगता है कि इसके बारे में एक समस्या नहीं है कोड। मैं इसके साथ वेबलॉगिक का उपयोग कर रहा था और वेबलॉगिक "प्राधिकरण" हेडर के साथ अनुरोधों को कैप्चर करता है, इसलिए यह मेरे प्रमाणीकरण-प्रबंधक तक नहीं पहुंचता है। मैंने ग्लासफ़िश के साथ कोशिश की, और यह पूरी तरह से काम करता है। (<security-configuration> अनुभाग) http://yplakosh.blogspot.com/2009/05/how-to-fix-basic-authentication-issue.html

मेरी Weblogic सर्वर से config.xml में अगली पंक्ति जोड़ना::

<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>

कुछ जानकारी के लिए सर्च कर रहे हैं, मैं अगले ब्लॉग में एक उपयोगी प्रविष्टि पाया

वेबलॉगिक मूल प्रमाणीकरण प्रमाण-पत्र फिर से नहीं पकड़ पाएगा, इसलिए यह आपका प्रमाणीकरण-प्रबंधक होगा जो इसे संभालेगा।

मुझे आशा है कि यह किसी को भी करने के लिए कुछ समय बचा सकते हैं :-)

+4

इस समाधान को पोस्ट करने के लिए आपको बहुत बहुत धन्यवाद। मैंने अभी इस मुद्दे में भागना शुरू कर दिया है और गोल्गल खोजने के बाद अपनी पोस्ट पाई है। –

+0

हे, मैं आपको कुछ समय बचाने में मदद करने के लिए वास्तव में खुश हूं ;-) – raspayu

1

कोशिश:

<http auto-config="true> 
    <security:intercept-url method="POST" pattern="/**" access="ROLE_USER" /> 
    <http-basic /> 
</http> 
+0

सलाह के लिए धन्यवाद। मैंने ऑटो-कॉन्फ़िगरेशन के साथ भी सच में कोशिश की, लेकिन मुझे लगता है कि मुझे कुछ और याद आ रहा है ... लेकिन पता नहीं क्या। मुझे लगता है कि मेरा कोड वास्तव में सरल है, इसके साथ कोई समस्या नहीं होनी चाहिए। – raspayu

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