public static void main(String[] args)
{
String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
String MY_HOST = "ldap://Localhost:1389";
String MGR_DN = "cn=John,ou=Users,o=IT,dc=QuizPortal";
String MGR_PW = "password";
//Identify service provider to use
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);
env.put(Context.PROVIDER_URL, MY_HOST);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, MGR_DN);
env.put(Context.SECURITY_CREDENTIALS, MGR_PW);
try
{
// Create the initial directory context
InitialDirContext initialContext = new InitialDirContext(env);
System.out.println("Context Sucessfully Initialized");
}
catch(Exception e)
{
System.err.println(e);
}
}
मैं पूछना चाहूंगा कि जब मैं MGR_DN = "cn=John,ou=Users,o=IT,dc=QuizPortal"
को MGR_DN = "uid=103,ou=Users,o=IT,dc=QuizPortal"
पर सेट करता हूं। मूल रूप से सीएन से यूआईडी में बदलना, मुझे एक त्रुटि का सामना करना होगाजेएनडीआई का उपयोग कर एलडीएपी उपयोगकर्ता पासवर्ड प्रमाणीकरण
javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]
मुझे cn=John
के रूप में निर्दिष्ट होने पर प्रमाणित किया गया है लेकिन uid=103
नहीं है। क्या मुझे यूआईडी द्वारा निर्दिष्ट करने की अनुमति नहीं है?
ओह ... धन्यवाद! समझे ... यह सोच रहा था कि यह क्यों काम नहीं करता ... धन्यवाद – Nivek
यह एलडीएपी निर्देशिका पर निर्भर करता है। कुछ वैकल्पिक नामकरण विशेषताओं को अनुमति देते हैं जिसमें यूआईडी = 103 काम कर सकता है। जबकि अन्य नहीं करेंगे। तो यह एक विश्वसनीय दृष्टिकोण नहीं है। – geoffc