- 增加操作
package com.nxw.test
import java.io.UnsupportedEncodingException
import java.util.Enumeration
import java.util.Iterator
import com.novell.ldap.LDAPAttribute
import com.novell.ldap.LDAPAttributeSet
import com.novell.ldap.LDAPConnection
import com.novell.ldap.LDAPEntry
import com.novell.ldap.LDAPException
import com.novell.ldap.LDAPSearchResults
import com.novell.ldap.util.Base64
public class LDAPSearchDemo {
public static void main(String[] args) {
String ldapHost = "localhost"
String loginDN = "cn=Manager,dc=nxw,dc=com"
String password = "secret"
String searchBase = "dc=nxw,dc=com"
String searchFilter = "objectClass=*"
int ldapPort = LDAPConnection.DEFAULT_PORT
// 查询范围
// SCOPE_BASE、SCOPE_ONE、SCOPE_SUB、SCOPE_SUBORDINATESUBTREE
int searchScope = LDAPConnection.SCOPE_SUB
LDAPConnection lc = new LDAPConnection()
try {
lc.connect(ldapHost, ldapPort)
lc.bind(LDAPConnection.LDAP_V3, loginDN, password.getBytes("UTF8"))
LDAPSearchResults searchResults = lc.search(searchBase,
searchScope, searchFilter, null, false)
while (searchResults.hasMore()) {
LDAPEntry nextEntry = null
try {
nextEntry = searchResults.next()
} catch (LDAPException e) {
System.out.println("Error: " + e.toString())
if (e.getResultCode() == LDAPException.LDAP_TIMEOUT
|| e.getResultCode() == LDAPException.CONNECT_ERROR) {
break
} else {
continue
}
}
System.out.println("DN =: " + nextEntry.getDN())
System.out.println("|---- Attributes list: ")
LDAPAttributeSet attributeSet = nextEntry.getAttributeSet()
Iterator<LDAPAttribute> allAttributes = attributeSet.iterator()
while (allAttributes.hasNext()) {
LDAPAttribute attribute = allAttributes.next()
String attributeName = attribute.getName()
Enumeration<String> allValues = attribute.getStringValues()
if (null == allValues) {
continue
}
while (allValues.hasMoreElements()) {
String value = allValues.nextElement()
if (!Base64.isLDIFSafe(value)) {
// base64 encode and then print out
value = Base64.encode(value.getBytes())
}
System.out.println("|---- ---- " + attributeName
+ " = " + value)
}
}
}
} catch (LDAPException e) {
System.out.println("Error: " + e.toString())
} catch (UnsupportedEncodingException e) {
System.out.println("Error: " + e.toString())
} finally {
try {
if (lc.isConnected()) {
lc.disconnect()
}
} catch (Exception e) {
e.printStackTrace()
}
}
}
}
- 删除操作
package com.nxw.test;
import java.io.UnsupportedEncodingException;
import com.novell.ldap.LDAPConnection;
import com.novell.ldap.LDAPException;
/**
* 删除条目的示例
*
*@author nxw
*
*
*/
public class LDAPDeleteEntry {
/**
* @param args
*/
public static void main(String[] args) {
String ldapHost = "localhost";
String loginDN = "cn=Manager,dc=voole,dc=com";
String password = "secret";
String deleteDN = "ou=nxw,dc=voole,dc=com";
int ldapPort = LDAPConnection.DEFAULT_PORT;
int ldapVersion = LDAPConnection.LDAP_V3;
LDAPConnection lc = new LDAPConnection();
try {
lc.connect(ldapHost, ldapPort);
lc.bind(ldapVersion, loginDN, password.getBytes("UTF8"));
lc.delete(deleteDN);
System.out.println(" delete Entry: " + deleteDN + " success.");
lc.disconnect();
} catch (LDAPException e) {
if (e.getResultCode() == LDAPException.NO_SUCH_OBJECT) {
System.err.println("Error: No such object");
} else if (e.getResultCode() == LDAPException.INSUFFICIENT_ACCESS_RIGHTS) {
System.err.println("Error: Insufficient rights");
} else {
System.err.println("Error: " + e.toString());
}
} catch (UnsupportedEncodingException e) {
System.out.println("Error: " + e.toString());
} finally {
try {
if (lc.isConnected()) {
lc.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
- 修改操作
package com.nxw.test;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.novell.ldap.LDAPAttribute;
import com.novell.ldap.LDAPConnection;
import com.novell.ldap.LDAPException;
import com.novell.ldap.LDAPModification;
/**
* 修改操作示例
*
* @author nxw
*
*
*/
public class LDAPModifyAttrs {
/**
* @param args
*/
public static void main(String[] args) {
String ldapHost = "localhost";
String loginDN = "cn=Manager,dc=voole,dc=com";
String password = "secret";
String modifyDN = "ou=nxw,dc=voole,dc=com";
int ldapPort = LDAPConnection.DEFAULT_PORT;
int ldapVersion = LDAPConnection.LDAP_V3;
LDAPConnection lc = new LDAPConnection();
List<LDAPModification> modList = new ArrayList<LDAPModification>();
String desc = "This object was modified at " + new Date();
LDAPAttribute attribute = new LDAPAttribute("description", desc);
modList.add(new LDAPModification(LDAPModification.ADD, attribute));
attribute = new LDAPAttribute("telephoneNumber", "8888866666");
modList.add(new LDAPModification(LDAPModification.ADD, attribute));
attribute = new LDAPAttribute("labeledURI", "nxwtsp@163.com");
modList.add(new LDAPModification(LDAPModification.REPLACE, attribute));
attribute = new LDAPAttribute("mail");
modList.add(new LDAPModification(LDAPModification.DELETE, attribute));
LDAPModification[] mods = new LDAPModification[modList.size()];
mods = (LDAPModification[]) modList.toArray(mods);
try {
lc.connect(ldapHost, ldapPort);
lc.bind(ldapVersion, loginDN, password.getBytes("UTF8"));
lc.modify(modifyDN, mods);
System.out
.println("LDAPAttribute add、replace、delete all successful.");
} catch (LDAPException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
System.out.println("Error: " + e.toString());
} finally {
try {
if (lc.isConnected()) {
lc.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
java连接Ldap http://blog.csdn.net/nxw_tsp/article/details/52678976
所需jar包 http://download.csdn.net/detail/nxw_tsp/9642131
本博文引自 http://blog.csdn.net/robbin2118/article/details/42092385
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
Java 语言通过 JNDI 提供的 LDAP 实现,可以实现在 LDAP 服务器上进行增删改查等操作。 在 Java 中,开发者可以使用 JNDI 的 LDAP 实现来连接 LDAP 服务器,并执行各种操作。JNDI 提供了一个统一的接口来访问不同的...
JAVA中使用LDAP进行用户认证 JAVA中使用LDAP进行用户认证是指在JAVA应用程序中使用轻量级目录访问协议(LDAP)来进行用户身份验证。LDAP是一种基于X.500标准的目录访问协议,但它更简单、更灵活,可以根据需要进行...
Java 语言可以通过 JNI(Java Native Interface,Java 本地接口)或纯 Java 实现来访问和操作 LDAP 服务器。 二、Java 访问 LDAP 服务器 在 Java 中,访问 LDAP 服务器需要使用 javax.naming 和 javax.naming.ldap...
本文将对LDAP的增、删、改、查操作进行详细说明,并提供相应的Java代码实现。 LDAP验证 LDAP验证是指使用LDAP协议来验证用户的身份,确保用户的身份信息正确无误。LDAP验证流程如下: 1. 客户端向LDAP服务器发送...
本文将深入探讨如何使用Java通过LDAP(轻量级目录访问协议)和SSL(安全套接层)来实现用户和组织(部门)的增删改查操作,并结合证书确保通信的安全性。这些功能通常用于大型企业的用户管理,例如Active Directory...
java Ldap增删改查代码。ldap样例数据,可用来导入。
java操作ldap类java操作ldap类java操作ldap类
rar包:一个Web工程, 主要有,利用Spring-ldap对LDAP的基本操作(查询,增删改);Extjs实现的对Ldap的树状结构的显示,结构有点类似Softerra LDAP;一个测试类。 pdf:spring-ldap-reference.pdf Extjs.pdf ...
LDAP(Lightweight Directory Access Protocol)是一种目录访问协议,允许客户端访问和操作目录服务。 LDAP 广泛应用于企业目录服务中,如 Active Directory、OpenLDAP 等。 Java 使用 LDAP 修改 AD 域用户密码 在...
这个主题涉及几个关键知识点,包括Java LDAP API、SSL安全连接以及如何通过代码操作LDAP目录。 首先,LDAP是一个开放标准的协议,用于存储和检索用户、组、计算机等对象的数据。这些数据通常分布在多台服务器上,...
通过上述分析,我们可以看出,在JAVA中使用LDAP进行用户认证涉及多个层面的技术,包括网络通信、安全协议、目录服务以及JAVA编程。掌握这些技术对于构建高效、安全的企业级应用至关重要。此外,理解LDAP的工作原理...
Java 连接和验证 LDAP 文档 Java 连接和验证 LDAP 文档是一份关于 Java 语言连接和验证 LDAP 服务器的学习...通过使用 Java 6.0 API for LDAP,可以轻松地连接和访问 LDAP 服务器,实现目录服务中的数据访问和管理。
总的来说,Java通过Ldap操作AD域涉及网络连接、身份验证、目录查询以及可能的SSL安全通信。理解这些概念和API的使用是实现AD域集成的关键。通过以上介绍和示例代码,你应该能够开始编写自己的AD域操作功能。记得在...
本文将详细介绍如何使用Java来实现对LDAP的访问,主要探讨两种方式:使用`LDAPTemplate`和使用`JLDAP`。 #### 二、使用LDAPTemplate访问LDAP ##### 2.1 LDAPTemplate介绍 `LDAPTemplate`是Spring框架中提供的一种...
本案例将介绍如何使用Java编程语言操作LDAP服务器,实现用户登录验证等功能。 首先,我们需要了解Java中的JNDI(Java Naming and Directory Interface)框架,它是Java提供的一套标准API,用于与各种命名和目录服务...
采用java 实现LDAP协议的创建用户和查询用户,也就是WIndows AD域控的操作。
Java操作LDAP(Lightweight Directory Access Protocol)是一种常见的方式,用于在分布式环境中管理和访问目录信息。在Java中,我们可以使用各种库来实现与LDAP服务器的交互,这些库提供了丰富的API,使得开发人员...
在这篇文章中,我们将探讨使用 JAVA 实现 LDAP 的 AD 域免证书查询、修改、删除、新增、启用、禁用和修改密码的操作。 首先,让我们了解什么是 LDAP 和 AD 域。LDAP(Lightweight Directory Access Protocol)是一...
LDAP在Java环境中尤其重要,因为它允许Java应用程序与LDAP服务器进行交互,实现身份验证、授权以及数据检索等功能。 **Java LDAP库** 在Java中,我们可以使用Java LDAP API来与LDAP服务器通信。这个API包含在Java...
java实现对ladp增 删 改 查操作,以及如何按目录遍历节点,其中有一点设计业务的代码,但是不影响对ladp操作的代码,代码很干净