เริ่มด้วยดูข้อมูลตัวอย่างที่อยู่ใน Server จากโปรแกรมก่อนครับ

โปรแกรมแบ่งออกเป็น 2 ส่วนคือ ด้านซ้ายที่แสดงโครงสร้างข้อมูล และด้านขวาที่แสดง attribute ของ node ที่กำลังเลือก โดยในรูปแสดง attribute ของ UN : cn=yod,ou=users,ou=system หรือ cn=yod
ตัวอย่าง code ที่เขียนจะเป็นการเชื่อมต่อกับ server และแสดง attribute เหล่านี้ครับ
เริ่มจากส่วน import ก่อนครับ
import java.util.Hashtable;จากนั้นตามด้วย method ครับ
import javax.naming.*;
import javax.naming.directory.*;
import javax.naming.ldap.*;
public static void getName() throws NamingException{และเมื่อสั่ง run แล้วจะได้แบบนี้ครับ
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:10389/");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system");
env.put(Context.SECURITY_CREDENTIALS, "secret");
InitialDirContext initNamingContext = new InitialDirContext(env);
System.out.println(initNamingContext.getAttributes("cn=yod,ou=users,ou=system"));
}
{mail=mail: yod1498@yahoo.com, userpassword=userpassword: [B@1ffb8dc, uid=uid: yod, givenname=givenName: nara, objectclass=objectClass: person, organizationalPerson, inetOrgPerson, top, sn=sn: deechuay, cn=cn: yod}เป็นงัยครับ code สั้นๆ นิดเดียว ทีนี้มาดูต่อครับว่าเราทำอะไรลงไป
- env.put(Context.PROVIDER_URL, "ldap://localhost:10389/"); เิริ่มจากการ connect ไปยัง LDAP server โดยกำหนด address และ port ของ server
- env.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system"); กำหนด user ที่ต้องการ connect และต้องมีสิทธิดูข้อมูล
- env.put(Context.SECURITY_CREDENTIALS, "secret"); ตามด้วย password ของ user
- System.out.println(initNamingContext.getAttributes("cn=yod,ou=users,ou=system")); สุดท้ายก็สั่งพิมพ์ attribute ของ node ที่เราต้องการ
0 ความคิดเห็น on "เขียน Java ติดต่อกับ LDAP Server"
แสดงความคิดเห็น