当前位置:作文大全 > 基于LDAP协议的离散应用系统统一管理应用研究

基于LDAP协议的离散应用系统统一管理应用研究

时间:2022-05-20 19:35:02 浏览次数:

(内蒙古财经学院 计算机信息管理系,内蒙古 呼和浩特 010070)
摘 要: 文章介绍了LDAP协议及其特点,给出了针对离散应用系统的目录服务平台和管理系 统的设计和实现办法,提出了信息资源目录树的设计原则,实现了资源信息在LDAP目录中的 存储,设计和实现了具有全面功能的LDAP目录管理系统。
关键词: LDAP;离散系统;统一管理
中图分类号:TP393.09  文献标识码:A  文章编号: 1007—6921(2009)24—0086—02

随着企业信息化建设的发展,企业建立了各种应用系统。传统的企业信息系统是以企业的业 务为基础发展起来的,这些信息系统之间往往是相互独立的,形成了一个个“信息孤岛”。 因此网络管理员无法在一个集中的信息库中以方便的方式管理散布在这些信息系统中的网络 信息和资源。目录服务的应用解决了以上问题。通过目录服务可以实现对网络中的各种资源 信息集中管理,为用户提供一个统一的清单。
1 LDAP概述

随着计算机网络对企业及个人日常生活的全面渗透和计算机技术的发展,无论是企业还是个 人对网络的依赖性越来越大,在网络上获取信息成为信息时代的一个重要标志。目录服务是 把人、组织和电子邮件等各种实体的有关信息存放在目录服务库中,给用户提供查询、检索 和修改这类信息的服务。LDAP(Lightweight Directory Access Protocol,轻量级目录访 问协议)由最初的X.500协议发展而来,已经成为当前应用最广的目录协议之一。

LDAP是在对X.500协议的简化,使PC机可以通过TCP/IP协议访问X.500服务器。LDAP的协议模 型如图1所示。

LDAP是标准的协议,与平台无关,因此,应用程序不需要关心LDAP目录放在 什么样的服务器上 。因为它是Internet的标准,所以LDAP得到了业界的广泛认可。LDAP服务器可以是任何一个 开放源代码或商用的LDAP目录服务器,因为可以用同样的协议、客户端连接软件包和查询命 令与LDAP服务器进行交互。而且LDAP服务器安装简单,易于维护。

LDAP的复制和引用功能使目录服务系统成为分布式系统。LDAP的复制功能可以很方便的将数 据从一个目录服务器全部复制到另外一个或多个目录服务器,这样就组成了“单主多从”的 目录系统,可以实现灾难恢复和负载均衡。

在安全性方面,LDAP可以通过ACL访问控制列表来控制用户对数据的读写权限。ACL可以根据 谁访问数据、访问什么数据、数据存在什么地方以及其他对数据进行访问控制。ACL可以控 制用户对每一条数据的访问权限,因此,LDAP目录比关系数据库具有更灵活的权限管理机制 。 目录服务和传统的关系型数据库不同,目录服务是被优化用于用户的认证和用户信息的查询 的信息模型,因此,目录服务具有优良的查询速度。
2 针对离散应用系统的统一目录服务平台设计

目录服务系统是整个网络用户和资源管理的灵魂,是分布式计算中最重要的基石。利用目录 服务系统,用户就可以实现单点登录(Single Sign On),即只需输入一次帐号及密码,就 可以登录各个应用系统,应用各种权限内的服务。一方面给管理员、用户带来了极大的方便 ,另一方面又提高了用户访问各种应用的速度。

目录服务能够为网络用户提供各种有用信息,有效地帮助用户使用各种网络服务和获取其他 信息。用户信息根据用户的身份不同,分别放在不同的目录服务信息库中,并加以不同的访 问权限控制。
2.1 目录树设计

目录服务系统首先要设计一个逻辑合理、易于管理的目录树结构。设计目录树结构常常采用 四种模式:组织机构模式、工作流模式、地域模式、综合模式。

根据LDAP协议中标准的目录服务结构的定义原则,结合具体的计算机网络、域名系统、电子 邮件系统及业务应用系统的实际情况,制定目录服务系统结构的定义原则。

目录结构的根目录定义为o=Imfec,其他顶级域名所对应的组织名(o)的相对区别名RDN定 义可参照根目录定义。例如计算机信息学院定义为o=ComInfo,因此,内蒙财院计算机信息 院的区别名DN就是DN:o= ComInfo,o= Imfec。其他各部门的DN依此类推。

二级域名对应的单位在目录中的RDN使用组织机构(ou)命名方式。如财院计信学院计算机系 可以命名为ou=Info,其的区别名DN为DN:ou= Info,o= ComInfo,o= imfec。

在此基础之上,为了将目录与独立应用系统域名联系起来,在目录的每一个条目中都需要添 加有关DNS的信息, 并将域名部件Domain Component(dc)属性添加到目录条目之中。
2.2 目录服务平台的逻辑结构设计

目录服务在逻辑结构均分为三层:Update层(写/更新层),Replication层(复制层)和Sea rch层(读/查询层)。实际的物理结构为二层:Master层(或Supplier层)执行更新/写和复 制的操作;Slave层(或Consumer层)执行读/认证/查询的操作。

Update层(更新层):处理用户信息更新和创建、中止、删除等;主要将用于对用户的管理 ;Replication层(复制层):将Update层的更新信息传递(复制)到Search层;Search层 (查询层):处理客户端的调用和请求。

顶层,即Update层由一台主服务器和一台备份服务器组成。备份服务器用于实现主目录服务 器的热备份。主操作服务器将处理更新,然后将它的改动信息“推”到备份服务器,以及通 过复制层hub或是专门的复制主机将改动信息复制到Search查询层。

底层即Search层可以由多台服务器组成。这些服务器将同时运行,实现负载分担、高可用性 、安全过滤、属性自动映射、引用的功能。一旦某台服务器异常停机,其他机器将提供补偿 作用。在今后用户量增长时,可以方便地通过增加机器或增加机器中的CPU和内存来实现对 更多请求的支持。
3 目录管理系统的设计

LDAP目录管理系统主要功能包括目录的条目管理、属性管理、schema(语法结构)管理、引 用功能管理以及连接管理,另外还包括LDAP的LDIF格式文件数据的导入和导出功能。如图2 所示。

条目管理包括对条目的增加、删除、修改、复制等编辑功能,利用这个功能可以管理LDAP的 目录树结构。属性管理包括对属性的浏览、增加、删除、修改等编辑功能,支持对多值属性 的编辑,另外还支持对二进制属性的浏览和修改功能。Schema管理可以浏览LDAP目录服务器 所支持的所有的属性和对象类。引用管理使LDAP目录管理系统支持对LDAP引用功能,当用户 选择支持引用功能时,用户在浏览目录树的时候将自动把引用的目录项显示给用户。连接管 理是系统用来管理LDAP服务器连接配置信息的,可以将配置好的服务器连接参数存储在XML 文件中,用户可以对连接信息进行浏览修改等操作,并且支持快速连接。数据管理可以将整 个目录树或目录树的一部分导出并存成LDIF格式的文件,同样也支持将LDIF格式的数据文件 导入LDAP目录树中。
4 目录管理系统的实现

管理系统采用Java开发技术,其中JNDI(Java Naming and Directory Interface)是名字和 目录服务接口。JNDI不依赖于任何具体的目录服务实现,所以应用程序可以使用统一的API 访问多种名字和目录服务。另外统一的接口屏蔽了不同目录服务之间协议和接口的细节差异 ,屏蔽了访问目录服务的各种细节,为用户提供了一个简明的访问接口。

JNDI体系结构包括应用接口API和服务提供接口SPI。API为应用程序提供了一个访问不同名 字和目录服务的统一接口,SPI则使各种名字和目录服务提供服务,即访问各种服务。

API包括两个包:javax.naming和javax.naming.directory,SPI仅包括javax.naming.spi一 个包,另外两个包javax.naming.event和javax.naming.ldap分别提供了事件和LDAP V3的辅 助功能。

JNDI中所有的目录服务的操作都相对于一个特定的上下文对象,所以必须先获得一个初始上 下文对象的引用。上下文对象是一系列的名字到对象的绑定,一个上下文对象中的名字可以 绑定到另外一个子上下文对象。JNDI定义了一个初始化上下文对象InitialContext,初始化 上下文对象是目录操作的一个起点,可以通过初始化上下文操作来寻找其他的上下文和对象 。

基于JNDI的类LDAPEngine封装了对LDAP的所有相关操作,包括对属性的操作、对条目的操作 以及对LDAP服务器的连接等。ConnectionData类保存了所有连接LDAP服务器的参数,包括LD AP服务器的URL、连接所用认证方式以及用户DN和用户密码等,还有一些其他服务器参数。E ntryNode类封装了目录树的树节点,提供对树节点所有操作的方法。EntryPair封装条目属 性列表中的属性对,包括属性名、属性值、是否二进制属性、是否必须的属性,是否Rdn等 信息。EntryTableModel继承AbstractTableModel类,定义显示属性的表格(使用JTree类实 现)的模型。MyTableCellEditor定义了属性表格的编辑器。BasicBinaryEditor封装了通用 的二进制属性编辑器的基本属性和方法。OpenCon类封装了服务器连接配置管理,该类提供 对多服务器的连接配置管理。
[参考文献]
[1] Bruce Eckel.Thinking in Java[M].北京:机械工业出版社,2002.
[2] 伽玛,等设计模式——可复用面向对象软件的基础[M]李英军,等译 北京:机械工业出版社,2000.
[3] Paul J Perrone ,et al张志伟,谭郁松,张明杰J2EE构建企业系统 [M].北京:清华大学出版社,2001.
[4] X.500 Lightweight Directory Access Protocolhttp://www.cis.ohio-state .edu/rfc/rfc1487.txt.
[5] Nicholas Kassem·Enterprise Team著J2EE权威 指南[M]途翔云,姚欣,李春阳译北京:中国电力出版社,2002.
[6] 南开创元目录服务系统技术白皮书[DB/OL], http://www.itec.com.cn/prod uct.htm.

推荐访问:离散 协议 研究 系统 LDAP