java对接ldap_如何使用Java操作LDAP之LDAP连接(一)
JAVA操作LDAP有幾種方法,這里主要介紹的是JNDI包,就是它:
com.sun.jndi.ldap.LdapCtxFactory
LDAP默認情況下使用的是BDB數據庫,所以呢,操作LDAP就和操作數據庫一樣,要分幾步走:
1、先導入所需的包,如下:
import java.util.ArrayList;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.DirContext;
import javax.naming.directory.Attributes;
import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchResult;
import javax.naming.NamingException;
import com.sun.net.ssl.internal.ssl.Debug;
2、連接LDAP,得到連接對象,如下:
DirContext ctx = null;?//這個就是LDAP的連接對象
Hashtable env = new Hashtable();?//定義一個哈希表來存連接信息
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");?//記錄工JNDI工廠
env.put(Context.PROVIDER_URL,?ldap://192.168.0.1:389);?//LDAP的地址,要根據LDAP服務器IP進行修改,389是LDAP的默認端口
env.put(Context.SECURITY_AUTHENTICATION, "simple");?//這個是默認授權類型,一般不用改
env.put(Context.SECURITY_PRINCIPAL, "");?//LDAP的賬戶名,一般是這樣的格式:dc=cs,dc=hunan,dc=com ,根據LDAP的配置情況來
env.put(Context.SECURITY_CREDENTIALS, "123456");?//對應上面賬戶的密碼
try
{
ctx = new InitialDirContext(env);?//初始化LDAP連接,連接成功后就可以用ctx來操作LDAP了
}
catch(NamingException e)
{
e.printStackTrace();
}
這里建議大家把以上的代碼寫成一個函數,返回DirContext 這個對象,方便使用。
轉載自:http://blog.sina.com.cn/s/blog_4da69d9a0100ja75.html
總結
以上是生活随笔為你收集整理的java对接ldap_如何使用Java操作LDAP之LDAP连接(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二轮电动车充电口放三轮电动车上充电行吗?
- 下一篇: java会编译失败吗?_请问为什么这个通