2011-06-18 15 views
5

मैं जेएसएफ वेबसाइट के लिए स्प्रिंग सिक्योरिटी 3.0.2 एलडीएपी प्रमाणीकरण का उपयोग करने की कोशिश कर रहा हूं। जब मैं अनुप्रयोग कॉन्टेक्स्ट-सुरक्षा.एक्सएमएल में निम्न कॉन्फ़िगरेशन का उपयोग करता हूं तो मुझे यह अपवाद मिलता है - org.springframework.beans.factory.BeanCreationException: नाम 'org.springframework.security.web.authentication.rememberme के साथ बीन बनाने में त्रुटि। टोकनबेसेड यादगार सेवा # 0' : बीन की शुरुआत विफल रही; नेस्टेड अपवाद है org.springframework.context.AplicationContextException: कोई UserDetailsService पंजीकृत नहीं है।स्प्रिंग एलडीएपी अपवाद - कोई उपयोगकर्ता डिस्प्ले सेवा पंजीकृत नहीं है

<authentication-manager> 
    <ldap-authentication-provider 
     user-search-filter="(uid={0})" user-search-base="ou=users,ou=system" 
     group-search-base="ou=groups,ou=system"> 
    </ldap-authentication-provider> 
</authentication-manager> 

<ldap-server id="ldapServer" url="ldap://localhost:10389" 
    root="" /> 

मैंने अभी प्रयोग किया और पाया कि नीचे जोड़ना चीजें काम करता है।

<ldap-user-service server-ref="ldapServer" user-search-filter="(uid={0})" /> 

लेकिन मुझे Spring LDAP documentation में इसका संदर्भ नहीं मिला। यदि मैं इसे जोड़ नहीं पाता हूं तो मुझे उपरोक्त अपवाद क्यों मिलता है? मैं इस कामकाज से खुश नहीं हूं क्योंकि मुझे दो स्थानों पर उपयोगकर्ता-खोज-फ़िल्टर विशेषता लिखनी है।

पीएस: मैंने Spring Security LDAP - No UserDetailsService registered चेक किया है। अपवाद अलग है और मुझे लगता है कि वसंत सुरक्षा संस्करण भी अलग है।

उत्तर

8

मुझे संदेह है कि आपके पास सुरक्षा संदर्भ में बाद में <remember-me/> सेट है। प्रति प्रलेखन के रूप में: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#remember-me

आप एक प्रमाणीकरण प्रदाता जो एक UserDetailsService का उपयोग नहीं करता उपयोग कर रहे हैं (उदाहरण के लिए, LDAP प्रदाता) तो यह काम नहीं करेगा जब तक कि आप भी इसमें UserDetailsService सेम है आपका आवेदन संदर्भ।

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