在Oracle关于JavaSE的官方文档中查到如下描述,LDAP服务提供者支持String和byte[]两种格式的LDAP属性。
默认情况下Attribute#get()返回的属性值的格式都是字符串类型的,如果想指定某属性的格式为字节数组类型(比如某属性可能在活动目录中存储的是图片、Word等二进制文件,那么返回字节数组类型会特别合适),需要事先在查找的上下文环境中指定:
……
env.put("java.naming.ldap.attributes.binary","objectGUID");//objectGUID也可以指定为其它属性
Context cxt = new InitialLdapContext(env,null);
……
参考网址:
LDAP Naming Service Provider for the Java Naming and Directory InterfaceTM (JNDI)
http://download.oracle.com/javase/1.3/docs/guide/jndi/jndi-ldap.html
How do you convert an Active Directory objectGUID into something useful?
http://www.thatsjava.com/java-core-apis/19440/
还有一个小问题,如果连接Ldap服务器的PROVIDER_URL中服务器与端口之外的路径含有中文,则需要事先使用java.net.URLEncoder进行编码,例如:
String baseDN=URLEncoder.encode("ou=软件应用事业部,ou=OrgTree,dc=cattsoft,dc=com", "utf-8");
env.put(Context.PROVIDER_URL, "ldap://192.168.123.8:389/"+baseDN);
分享到:
相关推荐
Java 操作 LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)的简单实例是 Java 语言中访问和操作 LDAP 服务器的基本示例。本示例展示了如何使用 Java 语言连接 LDAP 服务器,执行搜索操作,并获取...
Java LDAP(轻量级目录访问协议)操作是Java开发者在处理目录服务时常见的任务,尤其在需要进行身份验证、用户管理或企业应用集成时。LDAP是一种开放标准的网络协议,用于存储和检索分布式目录信息。在Java中,我们...
java操作ldap类java操作ldap类java操作ldap类
本文将深入探讨LDAP的基础知识、与活动目录的关系以及如何进行编程操作。 1. LDAP基础知识: LDAP使用树形结构来组织数据,称为目录信息树(Directory Information Tree,DIT)。每个节点称为条目(Entry),包含...
LDAP(Lightweight Directory Access Protocol)是一种目录访问协议,允许客户端访问和操作目录服务。 LDAP 广泛应用于企业目录服务中,如 Active Directory、OpenLDAP 等。 Java 使用 LDAP 修改 AD 域用户密码 在...
JAVA中使用LDAP进行用户认证是指在JAVA应用程序中使用轻量级目录访问协议(LDAP)来进行用户身份验证。LDAP是一种基于X.500标准的目录访问协议,但它更简单、更灵活,可以根据需要进行定制。LDAP支持TCP/IP协议,使...
在目录服务中,每个属性名称可以对应多个属性值。 BasicAttribute 类的常用方法包括: * 构建属性对象:BasicAttribute(String id) 和 BasicAttribute(String id, boolean ordered) * 添加属性值:add(int ix, ...
在这篇文章中,我们将探讨使用 JAVA 实现 LDAP 的 AD 域免证书查询、修改、删除、新增、启用、禁用和修改密码的操作。 首先,让我们了解什么是 LDAP 和 AD 域。LDAP(Lightweight Directory Access Protocol)是一...
Java操作LDAP(Lightweight Directory Access Protocol)是一种常见的方式,用于在分布式环境中管理和访问目录信息。在Java中,我们可以使用各种库来实现与LDAP服务器的交互,这些库提供了丰富的API,使得开发人员...
总的来说,Java通过Ldap操作AD域涉及网络连接、身份验证、目录查询以及可能的SSL安全通信。理解这些概念和API的使用是实现AD域集成的关键。通过以上介绍和示例代码,你应该能够开始编写自己的AD域操作功能。记得在...
Java 语言通过 JNDI(Java Naming and Directory Interface)提供了对 LDAP(Lightweight Directory Access Protocol)的支持,允许开发者通过 Java 语言来操作 LDAP 服务器。LDAP 是一种常用的目录服务协议,用于...
本案例将介绍如何使用Java编程语言操作LDAP服务器,实现用户登录验证等功能。 首先,我们需要了解Java中的JNDI(Java Naming and Directory Interface)框架,它是Java提供的一套标准API,用于与各种命名和目录服务...
这个主题涉及几个关键知识点,包括Java LDAP API、SSL安全连接以及如何通过代码操作LDAP目录。 首先,LDAP是一个开放标准的协议,用于存储和检索用户、组、计算机等对象的数据。这些数据通常分布在多台服务器上,...
这个API包含在Java的`javax.naming`和`javax.naming.ldap`包中,提供了丰富的类和接口,如`InitialLdapContext`、`NamingEnumeration`和`DirContext`等,使得开发者能够方便地执行LDAP操作,如查找、添加、删除和...
Java LDAP+CAS单点登录是一种常见的企业级身份验证和授权解决方案。这个技术组合允许用户只需登录一次,就可以访问多个相互独立的应用系统,提高了用户体验并增强了安全性。以下是对这个主题的详细解释: **LDAP...
本文将深入探讨如何使用Java通过LDAP(轻量级目录访问协议)和SSL(安全套接层)来实现用户和组织(部门)的增删改查操作,并结合证书确保通信的安全性。这些功能通常用于大型企业的用户管理,例如Active Directory...
Java LDAP 操作详解 在Java开发中,有时我们需要与 Lightweight Directory Access Protocol (LDAP) 进行交互,以管理和检索分布式目录服务中的数据。LDAP是一种开放标准的网络协议,用于存储和检索用户、组织、资源...
总结来说,JNDI和LDAP的结合使得Java开发者能轻松地管理和操作分布式目录服务,为企业的身份验证、授权和数据管理提供了强大支持。学习并熟练掌握这两者之间的交互对于提升Java应用的复杂性和可扩展性至关重要。通过...
《LDAP编程与Java》这本书是关于使用Java进行 Lightweight Directory Access Protocol (LDAP) 开发的指南。LDAP是一种开放标准的网络协议,用于访问和管理分布式目录服务。它在企业级应用中广泛使用,如用户身份验证...
Java操作LDAP(轻量级目录访问协议)是企业级应用中常见的任务,特别是在管理AD(活动目录)域用户时。本项目提供了一种便捷的方式,允许开发者在Java环境中创建、管理和更新AD域中的用户信息,并且可以直接在...