मेरे पास auto-config='true'
के अनुसार मूल और फ़ॉर्म आधारित प्रमाणीकरण का उपयोग करके कॉन्फ़िगर किया गया स्प्रिंग-सुरक्षा है।मैं रीस्टफुल एंडपॉइंट्स के लिए वसंत फ़ॉर्म आधारित लॉगिन को कैसे अक्षम कर सकता हूं?
मैं फॉर्म आधारित सुरक्षा का उपयोग न करने के लिए /api/**
के तहत एंडपॉइंट्स चाहता हूं। /api/**
के बाहर अन्य अंत बिंदुओं को फॉर्म आधारित लॉगिन का उपयोग करना चाहिए। मुझे 401
प्रतिक्रिया इन अंतराल के लिए किसी भी कॉल पर भेजी गई है, जिन्होंने /api/**
के तहत प्रमाण-पत्र प्रदान नहीं किए हैं।
अद्यतन: नीचे ल्यूक टेलर की टिप्पणी के लिए धन्यवाद, मैं निम्नलिखित समाधान के साथ आया हूं।
नोट: इस तकनीक को केवल वसंत-सुरक्षा 3.1 के रूप में लागू किया जा सकता।
सबसे पहले मैं /api/**
बाहर एकल। यदि कोई उपलब्ध हो तो हम कभी भी सत्र नहीं बनाते हैं, इसे create-session="never"
और <session-management/>
का उपयोग किया जाता है।
<http pattern="/api/**" create-session="never" use-expressions="true">
<http-basic />
<session-management />
<intercept-url pattern="/api/**" access="hasRole('API_ACCESS')"/>
</http>
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/" access="permitAll"/>
<intercept-url pattern="/**" access="isAuthenticated()"/>
</http>
यहां देखें http://www.baeldung.com/2011/10/31/securing-a-restful-web-service-with-spring-security-3-1-part-3/। इस ट्यूटोरियल में आप अपने सवालों पर कुछ जवाब पा सकते हैं। – dimas
[मेरा प्रश्न] (http://stackoverflow.com/questions/9302795/handling-both-form-and-http-basic- प्रमाणीकरण-with- अलग-अलग स्रोतों) का मेरा जवाब देखें जो अनिवार्य रूप से वही बात पूछ रहा है। –
हाय ल्यूक, सिद्धांत रूप में ऐसा लगता है कि मैं क्या कर रहा हूं और इसे लागू करने की जांच करूँगा। एकाधिक ' 'टैग होने में वे गलती से दोनों अनुरोध को संभाल सकते हैं? शायद मैं '/ api' के अलावा किसी भी चीज़ से मेल खाने के लिए स्पेल का उपयोग कर सकता हूं। मुझे पता नहीं था कि वसंत-सुरक्षा 3.1 में वे अब कई '' टैग की अनुमति देते हैं, यह एक अच्छी बात है। –