欢迎来到天天文库
浏览记录
ID:37729319
大小:39.00 KB
页数:5页
时间:2019-05-29
《使用JNDI操作LDAP》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、由于工作需要,我这几天学习了JavaJNDI操作AD,也分享一些心得。其实JNDI可以分为命名操作和目录操作,我要学习的是后者,目录操作。其实学过之后感觉操作LDAP比操作数据库要简单多了,首先写一个连接LDAP的类吧:packageoperstation;importjava.util.Hashtable;importjavax.naming.Context;importjavax.naming.NamingException;importjavax.naming.ldap.InitialLdapCont
2、ext;importjavax.naming.ldap.LdapContext;/***Thisisatoolclassforconnectingtoldap.*@authorJason*/publicclassConnLDAP{//storetheconnectedinformationprivateHashtableenv=null;//ldapcontextprivateLdapContextctx=null;//setsomeconnectedinformationprivateStringINIT
3、IAL_CONTEXT_FACTORY="com.sun.jndi.ldap.LdapCtxFactory";privateStringPROVIDER_URL="ldap://localhost:389";privateStringSECURITY_AUTHENTICATION="simple";privateStringSECURITY_PRINCIPAL="Administrator@jason.com";//或者是cn=Administrator,cn=Users,dc=www,dc=jason,d
4、c=com",总之是你的用户所在的dnprivateStringSECURITY_CREDENTIALS="abc_8888";/**CreatesanewinstanceofConnLDAP*/publicConnLDAP(){env=newHashtable();}/***Connecttoldapandinitializetheldapcontext.*@throwsjavax.naming.NamingExceptionIfconnectfail,throwthisexception.*/publi
5、cvoidconnectLdap()throwsNamingException{//settheinitializinginformationofthecontextenv.put(Context.INITIAL_CONTEXT_FACTORY,INITIAL_CONTEXT_FACTORY);//settheURLofldapserverenv.put(Context.PROVIDER_URL,PROVIDER_URL);//settheauthenticationmodeenv.put(Context.
6、SECURITY_AUTHENTICATION,SECURITY_AUTHENTICATION);//setuserofADenv.put(Context.SECURITY_PRINCIPAL,SECURITY_PRINCIPAL);//setpasswordofuserenv.put(Context.SECURITY_CREDENTIALS,SECURITY_CREDENTIALS);//initializetheldapcontextctx=newInitialLdapContext(env,null)
7、;}/***Closetheldapcontext.*@throwsjavax.naming.NamingExceptionIfcloseldapcontext,throwthisexception.*/publicvoidcloseContext()throwsNamingException{ctx.close();}/***Returntheldapcontext.*@returnReturntheldapcontext.*/publicLdapContextgetContext(){returnthi
8、s.ctx;}}这个类很好懂,连接LDAP需要一个哈希表来保存连接的相关信息,学过JDBC的很快就可以上手。INITIAL_CONTEXT_FACTORY需要提供一个字符串,我们用sun的JNDI就用此字符串吧:com.sun.jndi.ldap.LdapCtxFactoryPROVIDER_URL是连接的URL,协议要用ldap。端口要用389,这个是专门给ldap使用的端口,如果使用了SSL的话就要用636。
此文档下载收益归作者所有