का उपयोग कर एडीएएम के खिलाफ एलडीएपी का उपयोग करके प्रमाणीकरण मैं एक स्थानीय एडीएएम उदाहरण से बात करने के लिए वसंत-सुरक्षा का उपयोग कर जावा ऐप प्राप्त करने का प्रयास कर रहा हूं।वसंत सुरक्षा
मैं सफलतापूर्वक एडम और सेटअप स्थापित किया है इस प्रकार है ....
- उदाहरण स्थानीय होस्ट पर चल रहा है: 389
- रूट
O=Company
- है एक बच्चा
OU=Company Users
(orgnizationalUnit) कहा जाताCN=Mike Q
(उपयोगकर्ता)- नामक एक स्नातक 10 और
password = welcome
- है एक बच्चा
तब मैं सेटअप वसंत-सुरक्षा (संस्करण 3.0.3, वसंत-ढांचा 3.0.4 और वसंत-ldap 1.3.0) है। स्प्रिंग फ़ाइल
<security:ldap-server id="contextSource" url="ldap://localhost:389/o=Company"/>
<security:authentication-manager>
<security:ldap-authentication-provider user-dn-pattern="uid={0},ou=Company Users"/>
</security:authentication-manager>
<bean class="com.xxx.test.TestAuthentication" lazy-init="false"/>
और TestAuthentication
public class TestAuthentication
{
@Autowired
private AuthenticationManager authenticationManager;
public void initialise()
{
Authentication authentication = new UsernamePasswordAuthenticationToken("mike", "welcome");
Authentication reponseAuthentication = authenticationManager.authenticate(authentication);
}
}
इस रनिंग मैं निम्न त्रुटि
Caused by: javax.naming.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C090336, comment: AcceptSecurityContext error, data 2030, vece]
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3041)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2987)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2789)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2703)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:134)
at org.springframework.ldap.core.support.LdapContextSource.getDirContextInstance(LdapContextSource.java:43)
at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:254)
किसी का कहना है सकता है जहां मैं गलत जा रहा हूँ मैं चाहता हूँ आभारी मिलता है। इस बिंदु पर मैं बस एलडीएपी का उपयोग कर एक दर्ज उपयोगकर्ता/पासवर्ड प्रमाणीकृत करना चाहता हूं, उससे कहीं अधिक जटिल नहीं।
मुझे कुछ सामान्य बिंदुओं में भी रूचि है क्योंकि यह एलडीएपी दुनिया में मेरा पहला प्रयास है।
- क्या एलडीएपी केस संवेदनशील है?
- क्या स्थान सबसे अच्छी तरह से बचाए गए हैं?
- एलडीएपी क्वेरी में स्पष्ट पाठ में पासवर्ड भेजने से बचने के लिए सामान्य उपयोग-मामलों/सर्वोत्तम प्रथाओं क्या हैं?