Sun Directory Server/LDAP学习笔记(二) -摘录2009-07-22 22:57Java6.0 API for LDAP概述
从JDK5.0开始,对LDAP协议的数据访问操作就被集成在javax的扩展API包中,并随同JDK一并发布,这一章节,我们主要介绍API包中的类信息。
javax.naming.directory 包的结构
常用API解析
javax.naming.directory.InitialDirContext,初始化目录服务上下文类
该类是LDAP数据内容的操作工具类,通过该类可以执行绑定LDAP服务器、新增LDAP条目、获取条目实例、修改条目属性、删除条目和根据条件搜索条目等操作。常用方法说明如下:
初始化LDAP 目录服务上下文(相当于使用JDBC打开一个数据库链接)
InitialDirContext(Hashtable<?,?> environment)
绑定/创建LDAP条目对象(相当于新增一个LDAP条目数据bind(Name
name, Object obj, Attributes attrs)
bind(String name, Object obj, Attributes attrs)
createSubcontext(Name name, Attributes attrs)
createSubcontext(String name, Attributes attrs)
获取条目实例(属性集)
getAttributes(Name name)
getAttributes(Name name, String[] attrIds)
getAttributes(String name)
getAttributes(String name, String[] attrIds)
修改条目属性
modifyAttributes(Name name, int mod_op, Attributes attrs)
modifyAttributes(Name name, ModificationItem[] mods)
modifyAttributes(String name, int mod_op, Attributes attrs)
modifyAttributes(String name, ModificationItem[] mods)
删除条目
destroySubcontext(Name name)
destroySubcontext(String name)
根据属性集搜索条目
search(Name name, Attributes matchingAttributes)
search(Name name, Attributes matchingAttributes, String[] attributesToReturn)
search(String name, Attributes matchingAttributes)
search(String name, Attributes matchingAttributes, String[] attributesToReturn)
根据过滤器搜索条目
search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons)
search(Name name, String filter, SearchControls cons)
search(String name, String filterExpr, Object[] filterArgs, SearchControls cons)
search(String name, String filter, SearchControls cons)
javax.naming.directory.BasicAttribute,LDAP基本属性对象
该类用来表示LDAP条目中的单个属性对象。在目录服务中,每个属性名称是可以对应多个的属性值的。
构建属性对象
BasicAttribute(String id)
BasicAttribute(String id, boolean ordered)
BasicAttribute(String id, Object value)
BasicAttribute(String id, Object value, boolean ordered)
添加属性值
add(int ix, Object attrVal),添加属性值到多值属性的指定位置
add(Object attrVal) , 追加属性值到多值属性尾部
判断属性值是否包含
contains(Object attrVal) , 多值属性中有一个值是匹配的,返回true
获取属性值
get(),取得属性值中的一个
get(int ix),从多值属性中的指定位置取值
获取属性ID
getID(),属性的ID就是属性名
删除属性值
remove(int ix),删除指定位置的属性值
remove(Object attrval),删除指定的属性值
javax.naming.directory.BasicAttributes,LDAP实体的属性集
该类表示一个LDAP条目绑定的属性集合,在绝大多数情况下,一个LDAP条目存在多个属性。
构造属性集
BasicAttributes()
BasicAttributes(boolean ignoreCase),属性ID是否大小写敏感,建议不要使用敏感
BasicAttributes(String attrID, Object val)
BasicAttributes(String attrID, Object val, boolean ignoreCase)
获取属性集中的单个属性对象
get(String attrID)
获取全部属性的枚举
getAll()
获取全部属性的ID枚举
getIDs()
添加新属性
put(Attribute attr)
put(String attrID, Object val)
移除指定属性
remove(String attrID)
javax.naming.directory.SearchControls , LDAP目录服务搜索控制对象
该类负责控制LDAP搜索行为的范围、设定返回结果数上限,搜索耗时上限,指定结果所包括的属性集等。
设定搜索行为的范围
setSearchScope(int scope)
设定返回结果数上限
setCountLimit(long limit)
设定搜索耗时上限
setTimeLimit(int ms) , 以毫秒为单位
指定结果所包括的属性集
setReturningAttributes(String[] attrs)
javax.naming.directory.SearchResult , 表示.search() 方法的返回结果集中的一项。
SearchResult类是对LDAP条目属性集的封装。在search()操作中可能返回完整的条目属性,也可能是条目属性的一部分。
获取SearchResult封装的条目属性
getAttributes()
文章来源:http://hi.baidu.com/millionware/blog/
分享到:
相关推荐
2. **LDAP架构**:包括服务器、客户端、目录树结构(如DN,Distinguished Name)和OU(Organizational Unit),以及如何构建层次化的命名空间。 3. **LDAP协议**:学习LDAP协议的工作原理,如搜索、添加、删除、...
LDAP学习笔记 LDAP,全称为轻量级目录访问协议,是一种用于访问和管理分布式目录服务的网络协议。它源于X.500标准,但在设计上更为轻便且可定制,支持TCP/IP通信,这对于互联网访问至关重要。目录服务主要用于快速...
LDAP,即轻量级目录访问协议,是用于访问和维护分布式目录信息服务的协议。它为X.500目录访问协议的简化版本,尽管它来源于X.500标准,但其设计更加易于在互联网上实现。LDAP适用于那些需要快速访问少量数据的场景,...
根据提供的文件信息,我们可以从这份名为“Ldap学习手册pdf版”的文档中提炼出与LDAP相关的知识点。以下是对这些知识点的详细阐述: ### LDAP基础知识 #### 1. LDAP简介 - **LDAP**(Lightweight Directory Access ...
**LDAP学习资料** LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于存储和检索分布式目录信息。在IT行业中,LDAP被广泛应用于身份验证、授权和信息管理,尤其是在大型企业网络环境中...
LDAP技术资源包括了各种文档、工具和社区论坛,这些资源对于学习和掌握LDAP技术非常有帮助。 以上总结了关于LDAP技术的基本概念、原理、工具、访问技术和实际应用等方面的知识点。通过这些内容的学习,读者可以更...
LDAP 中文学习手册 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于访问目录服务。它是 X.500 目录访问协议的移植,但是简化了实现方法。 目录服务与关系数据库之间的区别 LDAP 与...
### LDAP学习资料与Sun Java System Directory Server 5.2管理手册解析 #### 一、LDAP基础知识 LDAP(Lightweight Directory Access Protocol),即轻量级目录访问协议,是一种应用层协议,用于访问和维护分布式...
2. **libldap**: 客户端库,供其他应用程序使用,以便与LDAP服务器进行交互。 3. **ldif**: LDAP数据交换格式,用于导入和导出目录数据。 4. **ldap-utils**: 一系列命令行工具,如`ldapadd`, `ldapdelete`, `ldap...
2. LDAP服务器的安装与配置,如OpenLDAP、Active Directory等。 3. LDAP目录结构的设计与管理。 4. LDAP查询语法和过滤器的使用。 5. LDAP安全与性能优化。 6. LDAP与其他系统的集成,如Samba、Kerberos等。 7. 实战...
由于这些我也是才入门的时候写的,进行测试等用的,所以比较适合新手,对学习LDAP,extjs会有一定的帮助。 (需要改正的是extjs里那个节点的id要加上前面的id才行,比如ou=mail; 那它的子节点cn=wang的id应该是...
Java 连接和验证 LDAP 文档是一份关于 Java 语言连接和验证 LDAP 服务器的学习文档。LDAP(Lightweight Directory Access Protocol)是一种目录访问协议,用于管理和访问目录服务中的数据。 一、LDAP 概述 LDAP 是...
2. **配置文件**:如`ldap.conf`或`slapd.conf`,是LDAP服务器的主要配置文件,定义了目录结构、访问控制、索引等。 3. **样本数据**:可能包括`.ldif`文件,用于导入和导出LDAP目录的数据,帮助用户快速建立测试...
2. **理解LDAP目录结构**:熟悉DN的格式和构建,以及如何规划和创建适合组织的目录结构。例如,公司可能有一个`ou=People,dc=example,dc=com`这样的DN,其中ou表示组织单元,dc表示域名组件。 3. **对象类和属性**...
2. **配置OpenLDAP**:配置文件通常位于/etc/ldap/目录下,包括slapd.conf(配置服务器)和ldap.conf(配置客户端)。需要设定目录结构、数据库路径、安全设置等。 3. **添加、修改和查询条目**:使用命令行工具如...
2. `spring-ldap-reference.pdf`:这个文件很可能是 Spring LDAP 的官方参考文档,包含了框架的所有类、接口和方法的详细介绍,以及示例代码。通过阅读此文档,你可以深入理解 Spring LDAP 的工作原理,学习如何配置...
3. LDAP过滤器:学习如何编写查询过滤条件,以便精确地查找所需信息。 4. LDAP安全:探讨SSL/TLS配置,以及如何使用证书加强安全。 5. LDAP集成:与IBM其他产品(如Tivoli Directory Server (TDS) 或 Tivoli ...
5. **学习进阶**:了解更复杂的查询语法,熟悉LDIF(LDAP Data Interchange Format)文件格式,掌握高级管理功能。 总之,LDAP浏览器是管理和维护LDAP目录的重要工具,通过图形化界面简化了对目录服务的操作。无论...