(计算机应用技术专业论文)基于ldap的校园网统一身份认证系统研究和实践.pdf_第1页
(计算机应用技术专业论文)基于ldap的校园网统一身份认证系统研究和实践.pdf_第2页
(计算机应用技术专业论文)基于ldap的校园网统一身份认证系统研究和实践.pdf_第3页
(计算机应用技术专业论文)基于ldap的校园网统一身份认证系统研究和实践.pdf_第4页
(计算机应用技术专业论文)基于ldap的校园网统一身份认证系统研究和实践.pdf_第5页
已阅读5页,还剩70页未读, 继续免费阅读

(计算机应用技术专业论文)基于ldap的校园网统一身份认证系统研究和实践.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于l d a p 的校园网统一身份认证系统 研究和实践 摘要 目前,校园网络正在飞速地发展,这就造成网络中服务器剧增,应用系统 急速增加。另外,由于许多应用系统都是各自管理自己的用户,使得同一用户 在使用上网、收邮件,选课和网上学习等不同应用系统时不得不使用不同的用 户名和密码这给用户造成很大的麻烦,为解决这一离题,很多高校键出7 各 种不同的解决方案,但大多都有一定的局限性。 本文深入研究并比较分析了l d a p 和一般关系型数据库不同结合校园网 特点和其它高校应用经验,运用l d a p 目录服务和8 0 2 ,1 x 协议,r a d i u s 协议, 分布式技术,元目录、单点登录、认证等技术,提出了一个整体解决方案,并 在i i h u x 上实现了s q u i d 代理、q m a i l 、w e b 等用户身份认证实验。为实现园区网 内信息系统集成、数字化校园建设提供了很好的参考模型。 登录 关键词:轻型目录访问济议,统一身份议证。8 0 2 i x ,元目录,草点 r e s e a r c ha n dp r a c t i s et h eu n i f i e da u t h e n t i c a t i o ns y s t e mo f c a m p u s n e t w o r kb a s eo nl d a p a b s t r a c t w i t ht h er 印i dd e v e l o p m e n to fc a m p u sn e t w o r k ,t h ea m o u n to fn e t w o r k s e v e r s a n da p p l i c a t i o ns y s t e m si n c r e a s e sd r a m a t i c a l l y h o w e v e r , m o s ts y s t e m sa d m i n i s t r a t e t h e i ru s e r si n d i v i d u a l l y , w h i c hm a k e sd i f f e r e n tf u n c t i o n a ls y s t e m sf o rw e bs u r f i n g , e m a i lr e c e i v i n g ,c o u r s ee n r o l m e n to ro n l i n ee d u c a t i o nh a v e t h e i ro w np a i r so f u s e m a m ea n dp a s s w o r da n dc o m p l e x e st h e u s e r s t a s k s i no r d e rt o s o l v et h i s p r o b l e m ,e v e r yu n i v e r s i t i e sp r o p o s e s t h e i ro w ns o l u t i o n sw h i c ha l lh a v ev a r i o u s 1 i m i t a t i o n s t h i st h e s i sf i r s t l ys t u d y ,c o m p a r e sa n da n a l y z e st h ed i f f e r e n c e so f l d a pa n d n o m a lr e l a t i o n a ld a t a b a s e t h e n ,c o m b i n i n gt h ec a m p u s n e t w o r k sf e a t u r e sa n do t h e r u n i v e r s i t i e s a p p l i c a t i o n se x p e r i e n c e s u s el d a pd i r e c t o r y s e r v i c ea n d8 0 2 - l x p r o t o c o lr a d i u sp r o t o c o l ,d i s t r i b u t i n gt e c h n i q u e ,m e t a - d i r e c t o r y , s i n g l e s i g no n a n da u t h e n t i c a t i o ne t ci tp r o p o s e sa ni n t e g r a ls o l u t i o n a n dw ei m p l e m e n t ss q u i d a g e n t ,q m a i l ,w e ba u t h e n t i c a t i o ne x p e r i m e n t so n l i n u xp l a t f o r m i ta l s op r o p o s e sa g o o d r e s e a r c hm o d e lf o ri n t e g r a t i o nc o m p u s n e t w o r ki n f o r m a t i o ns y s t e ma n dm a k e d i g i t a lc o m p u s , k e yw o r d :l d a p , u n i f i e d a u t h e n t i c a t i o n , 8 0 2 1 x p r o t o c 0 1 ,m e t a d i r e c t o r y , s i n g l es i g no n ( s s o ) 合肥工业大学 本论文经答辩委员会全体委员审查,确认符合合肥工业大学 硕士学位论文质量要求。 主席: 委员: 导师: 答辩委员会签名 余虹 f 咝艾不派 锄伊够以 l 7 0 - 次 惨 厉 ,万 艘 纠 门u 摇 、支欹臻熊 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写 过的研究成果,也不包含为获得 盒目b 王些盔堂或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明 并表示谢意。 学位论文作者签名蒋,杨 签字嗍f 年7 月日 学位论文版权使用授权书 本学位论文作者完全了解金胆王些盔堂有关保留、使用学位论文的规定,有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权量 胆工些盔堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:彳缸必 签字日期:卯即年7 月矿目 学位论文作者毕业后去向 【作单位:名秒抓舌 通讯地址:启_ i 争多a 蟠 导师签名 签字日期加罗月妒 电话: 邮编: 槲叩 致谢 本论文是在我的导师合肥工业大学硕士生导师周健副教授的悉心指 导下完成的。三年来,先生在学习上、生活上给了我很多关心和帮助,其 言传身教使我受益匪浅。先生渊博的学识、严谨的治学态度、敏锐的学术 思想以及积极开拓的科研精神始终是我努力学习的榜样。在此谨向周健先 生致以衷心的感谢和深深的敬意。 在三年研究生学习期间和论文撰写过程中,得到了信息与电教中心邓 林主任的帮助,在此表示衷心的感湔。另外,还得到计算极学院袁兆山、 杜玉桥、胡学钢、王浩、穆斌、侯整风、陈进等老师的支持和帮助,在此 表示感谢。 三年来,得到了信息与电教中心的郭丹捷、周立、李超、洪艳、于博、 万妹伊、程克勤、余刘琅、程伟、郑霁、张强、朱跃农、孙宁、等同事的 许多支持和帮助,还得到侯春晓、刘栋、朱传宇、迟文德、陆晨、陈继、 冷宁、陈源源、尹家生、方璞、辜丽川、洪燕、李凯等同学的帮助,在此 一并表示感谢。 最后,衷心感谢合肥工业大学计算机学院和研究生部的领导和老师们 对我多年的培养和帮助。 作者: 2 0 0 4 年8 月2 0 曰 1 1 研究背景 第一章绪论 随着校园网不断的发展,网络的使用由简单的上网,发展到现在的各种应 用,网络服务器的种类繁多,用户数量迅速增长,随着校园网络信息的逐渐增 加和网络规模的日益扩大,每种应用系统都需要进行身份的识别认证并且对不 同身份所拥有的操作权限进行授权。一股的方法是在每一个应用系统中建立独 立的身份认证模块,使用独立的认证机制在各自的身份认证文件或数据库中认 证。这种管理模式和方法暴露出许多问题,因为每个用户在每个应用系统中都 需要建立帐户,所以网络信息的查询及网络管理都变得很不方便,用户办理上 网手续往往需要设置多个用户名和口令,如代理账户、拨号账户、e m a i l 账户 等,难于记忆和使用,而且用户的管理也不方便,往往会造成数据的不一致性。 这样使得我们迫切需要一个统一的、完善的、安全的、易于管理的、有良好的 可移植性和扩展性的校园网用户身份管理系统【j 。 目前我国高等院校网络基础设施建设己初具规模,并为园区用户提供了快 速稳定、结构合理的网络通信平台。随之二来的是网络应用的升级。信息技术 的不断成熟和网络应用需求的刺激。使得基于校园网络平台的校园信息化建设 在今后的网络建设中占有重要的地位,“数字化校园”、“校园一卡通”正在成为 网络建设的热点。“数字化校园”建设不可能一蹴而就,需要整体设计、层次化 构建、分步实施。集目录服务、身份认证、单点登录技术为一体的基础信息平 台建设是数字化校园网的基石,是校园各应用系统协同工作和资源共享的桥梁 和纽带。 目录服务为网络中的所有资源提供信息目录,形成一个资源库,集中统一 管理所有资源。轻型目录访问协议l d a p 是基于t c w i p 的一个开放的工业标准, 它定义了访问和修改目录信息的标准方法,统一了各种不同的目录,是解决跨 平台、跨环境的复杂网络资源管理的重要手段。目前l d a p 已经得到了广泛的 支持和应用,越来越多的生产厂商在自己的产品中增加了支持l d a p 的这项功 能,同时,基于l d a p 目录服务的应用也越来越广泛,如邮件管理,用户身份 认证管理,公钥管理等等。将l d a p 目录服务引入到校园网络管理中具有重大 的意义,它的独特优势为校园网提供了一个完整的信息模型和灵活的管理工具。 可以预见,在今后相当长的一段时间里。基于l d a p 的校园网络管理系 统将成为国内外许多学校采用的主要模式之一。 1 2 国内外相关研究状况 早期的目录服务标准协议是x 5 0 0 协议,它是为了便于建立全局、分布式的目录 信息而设计的一套协议。它是一种c s ( c l i e n t - - - s e r v e r ) 结构的应用协议,支持用户 通过网络访问和维护资源信息,另外还具有几个突出的特点: 支持分布式的目录信息维护,所以每一个运行x 5 0 0 的服务器都只需负责自 己所管辖的资源信息,只需在本地就可完成信息的更新: 提供强大查询能力,可以让用户随心所欲的设计查询方式: 全局的信启柏示,通过这种标示可以唯的定位信息位置,获取内容; 结构化的信息模式,支持开发者的本地扩展; 遵循统一的标准,所以可以通过标准的方式访问任何一个x 5 0 0 服务器,获 取信息; x 5 0 0 协议中包含了这诸多的强大功能,可以说在很大的程度上满足了用户和开发 者的要求但是在用户和开发制的使用过程中却逐渐暴露出其许多的不足之处,阻碍 了它的应用和推广,主要集中在使用方式和性能开销上这两个方面,由于x 5 0 0 是在 o s i 协议栈上实现的,虽然x 5 0 0 提供了强大的信息查询功能,但是协议所要求的访 问格式却十分复杂,往往难以掌握;其次在运行x 5 0 0 服务器时对系统的开销要求较 高。为了兼顾保留协议的优点和克服这些不尽人意的地方,推出了由x 5 0 0 目录服务 协议延伸发展而来的轻型目录访问协议( l i g h t w e i g h t d r e c t o r y a c c e s s p r o t o c o l ,简称 l d a p ) 。l d a p 协议继承了x 5 0 0 的9 0 左右的功能,同时兼容所有使用x 5 0 0 协议 建立的服务端数据库,避免了重复开发的浪费;在运行开销上却只是x 5 0 0 的1 0 。 f 是由于l d a p 具有巨大的优越眭,它从一开始仅仅是作为x 5 0 0 客户层的另一种实 现方式,到现在在许多应用中完全替代了x 5 0 0 协议,成为一个完整实用的应用开发 协议吐 l d a p 在以下四个方面对x 5 0 0 进行了简化: 传输:l d a p 真接运行在t c p 上,避免了o s i 多层通信的高层开销; 功能:l d a p 简化了x 5 0 0 的功能,抛弃了较少用到的功能和冗余的操作; 数据表示:x 5 0 0 的数据表示结构复杂,l d a p 采用简单的字符串对数据进行表示; 编码:l d a p 用于网络传输的编码规则比x 5 0 0 的编码规则更加简单。 总的来说,基于l d a p 的目录服务有以下特点。 目的是存储网络资源的信息 结构化的信息框昶面向对象的信息存储方法) ,采用树型层次式结构表示 在系统中的单点集中( 不指物理位置) 管理资源,可实现单一登入点 读多于写 基于t c p 协议 c l i e n t s e r v e r 逻辑结构 标准的访问协议l d a p 强大的搜索功能,允许用户组织复杂的查询要求 维护的分散性“言息可分布存储,具有集中式数据库无可比拟的优越眭) 可全球唯一的命名 动态添加和修改信息 容错功能 自动更新和维护存储的信息 方便的备份和恢复功能 安全访问和信息传输的安全 易对资源进行授权管理 在x5 0 0 的基础上,经过了l d a p v l ,l d a p v 2 ,l d a p v 3 三个阶段的发 展,l d a p 已经相当成熟。国内外有许多高校都在校园网管理系统中使用了 l d a p 目录服务,国外的如s t a n f o r du n i v e r s i t y ,u n i v e r s i t yo f b r i t i s hc o l u m b i a , 国内的如清华大学、北京大学,深圳大学等。研究的方向主要有:继续研究l d a p 协议本身的缺点,如使用专有的l d i f 格式进行数据交换,使互操作性受到影 响;实现网络设备l d a p 客户端应用程序,完成基于目录的设备配置自动管理: 网络q o s 的策略管理和目录服务结合;网络管理中s n m p 和l d a p 的结合:采 用元目录技术等。 1 3 研究的内容及意义 1 3 il d a p 目录服务的研究 实现以l d a p 为核心的用户统一身份认证需要完成以下方面的工作: 用户信息存储格式l d i f 和l d a p 目录树的设计。为方便今后的管理和 维护,系统的可扩展能力、适应性、以及可靠性是研究的关键。 运用l d a p 推拉技术实现分布式的目录服务,使用户信息分布存储, 方便了系统的管理和应用。 l d a p 实现用户权限管理。通过认证和授权使不同用户具有不同权限, 使系统更加安全。 应用系统接口研究和开发。以代理服务和邮件服务的认证模型和方式 为切入点,分析和研究不同应用系统的l d a p 接口函数,并制定接1 :3 的规范,从而解决多应用系统的用户赛份统一认证。 安全性研究。统一身份认证在给用户和网络管理带来巨大便利的同时, 也带来了很大的安全隐患,特别是在用户身份信息的传输过程中的安 全保障也就自然的成为本课题的主要研究内容。我们的目标是:在用 户身份认证的过程中,建立端到端的安全信息传输模式,保证用户信 息不会在此期间的失密。 1 3 2相关协议技术协同工作的研究 本文除了使用l d a p 轻型目录访问协议之外,还要使用到8 0 2 1 x 协议、 r a d i u s 认证协议,详细了解各种协议的工作原理和工作模式,以及在这些协议 的基础上的协同工作问题,并对各种信息资源的统一身份认证模型展开深入地 研究,提出校园网内整体的解决方案模型。 1 3 3 拟解决的主要问题: 用户身份信息和网络资源基础信息结构的研究分析。 设计适合校园网的l d a p 目录树。 设设计校园网络信息系统整体解决方案 实现基于l d a p 目录树的分布式管理。 解决8 0 2 1 x 协议、r a d i u s 协议和l d a p 目录整合及校园网内统一 认证问题 实现两个应用系统的身份认证实验,解决目前各个应用系统用户身 份不统一的问题,实现校园网应用系统用户身份认证问题。 提出解决基于l d a p 应用安全性的问题。 1 3 4 预期效果 规范、统- a n 科学的用户身份和网络资源基础信息结构。 建立校园网络用户统一身份认证的基本模型。 实现一个建立在上述基础信息结构基础上的校园网统一身份认证 实验系统。 1 4 本文结构 本文共分六苹。 第一章为绪论,主要介绍了本课题研究的背景、国内外相关研究状况研究 的工作和意义,提出了研究的主要内容:l d a p 目录服务的研究、相关协议技 术协同工作的研究、拟解决的主要问题和预期效果。 第二章主要介绍了目录、目录服务、x 5 0 0 目录服务标准协议并对目录服 务的实现。 第三章详细介绍了l d a p 轻型目录访问协议,全面介绍了l d a p 工作原理 四种模型:信息模型、命名模型、功能模型、安全模型,l d a p 的模式( s e c h e m a ) 和l d l f ,分布式技术、工作方式和目录拓扑结构。 第四章介绍了8 0 2 1 x 协议和r a d i u s 协议,分析了基于r a d i u s 认证的 模型,最后比较了p p p o e 和r a d i u s 两种认证技术的优缺点 第五章设计了基于l d a p 目录服务的统一身份认证系统,提出了整体解决 方案模型,阐明其中几项关键技术:身份认证目录的建立、元目录技术、单点 登录。说明系统要求达到的设计目标,解释了在统一认证模式下用户接入访问 控制。通过介绍各种技术的协同工作分析了在校园网整体上是如何解决统一身 份认证问题的。 第六章详细设计了校园网内基于l d a p 的统一身份认证系统方案,在l i n u x 平台上用o p e n l d a p 建立目录服务器,设计了一种性能较优的目录树,最后设计 了基于8 0 2 ,i x 的交换机端口接入方案,并实现了s q u i d 代理和q m a i l 两个实验。 第七章总结了本课题的主要研究成果和应用价值,同时指出了进一步的研 究方向。 2 1 目录概述 第二章目录服务 目录是一种专门被优化用于执行读、浏览、搜索等操作的数据库,可以包 含网络以及在网络上运行的应用程序所需的信息| 3 l 。它倾向于包含具有描述性 的、基于属性的信息,并且支持高度复杂的过滤搜索功能。目录通常不支持中 复杂的关系操作和事务机制,而关系型数据库管理系统则常用于处理复杂的更 新操作。但是,如果目录允许更新,它的更新操作要更为简便。目录被优化成 以对大量的查找和搜索操作做出快速响应。并且目录可以复制信息以增加可用 性和可靠性,这样也减少了响应时间。当目录信息被复制时,可能会出现暂时 的不一致,但目录信息最后会得到同步。 2 2 目录服务 目录服务提供对目录信息的访问。有多种不同的方式实现目录服务,不同 的方式允许目录存储不同种类的信息,对目录信息的引用、查询、更新也有不 同的要求。其中全局目录通常是分布式的,目录信息存储在网络上的多台主机 上,多台主机联合提供目录服务。 2 3x 5 0 0 协议的目录服务 目录服务有许多种。如简单目录一一如w i n d o w s n t 中存储用户安全信息的 安全帐号管理器( s a m ,s e c u r i t y a c c o u n t s m a n a g e r ) 数据库,其中存储用户和 网络配置信息;应用程序目录一一如w i n d o w s 操作系统下的i n i 文件、注册表 等;网络操作系统n o s 集成的目录一一如w i n d o w s 中的a c t i v ed i r e c t o r y 和 n o v e l l 的n o s ;全局目录一- - i n t e m e t 域名系统( d o m a i n n a m es y s t e m ) 就是一 种全局分布式目录服务。x 5 0 0 目录就是一种全局的分布式公共目录。 x 5 0 0 实际上不是一个协议,它是由一个协议族组成:x 5 0 1 模型强调目录 服务基本模型和概念;x 5 0 9 认证框架是如何在x 5 0 0 中处理目录客户和服务 器的认证:x 5 “抽象服务定义x 5 0 0 被要求提供的功能性服务;x 5 1 8 分布 式操作过程表明如何跨越多台服务器处理目录服务;x 5 1 9 协议规范即是x 5 0 0 协议,包括目录访问协议d a p 、目录系统协议d s p 、目录操作绑定协议d o p 和目录信息s h a d o w i n g 协议d i s p ;x 5 2 0 选定的属性类型要求是x 5 0 0 自己使 用的属性类型;x 5 2 1 选定的对象类即为x 5 0 0 自己使用的对象类;x 5 2 5 复制 是如何在目录服务器之间复制目录内容。 在这些x 5 0 0 标准中主要定义有多种内容。一个信息模型:确定目录中信 息的格式和字符集,如何在项中表示目录信息( 定义对象类、属性等模式) :一 个命名空间:确定对信息进行的组织和引用,如何组织和命名项目录信息 树d i t 和层次命名模型;一个功能模型:确定可以在信息上执行的操作;一个 认证框架:保证目录中信息的安全,如何实现目录中信息的授权保护访问 控制模型;一个分布操作模型:确定数据如何进行分布和如何对分布数据执行 操作,如何将全局目录树划分为管理域进行管理目录管理模型。客户端与 服务器通信的协议一目录访问协议d a p ,将用户请求在服务器之间进行链接所 需的目录系统协议d s p ,将选定的信息在服务器之阅进行复制所需的目录信息 映像协议d i s p ,用于自动在服务器之间协商连接配置的目录操作绑定协议 d o p 。 x 5 0 0 虽然是一个完整的目录服务协议,但在实际应用的过程中,却存在 着不少障碍。由于目录访问协议d a p 这种应用层协议是严格遵照复杂的i s o 七 层协议模型制定的,对相关层协议环境要求过多,主要运行在u n i x 机器上, 在许多小系统上,如p c 和m a c i n t o s h 上无法使用,因此没有多少人按照d a p 丌发应用程序,t c p i p 协议体系的普及,更使得这神协议越来越不适应需要, 因此根据应用的需要推出了l d a p 协议。 2 4 目录服务的优势和应用场景【4 1 公共的独立于应用的目录,基于开放的由多种平台多数提供商支持的标 准,可以通过标准的而非私有的a p i 进行访问,必须是可可扩展的,这样目录 才能容纳任意应用需要的数据。在提供安全功能特往的同时不要求功能强大的 系统和消耗过多的资源。由于越来越多的用户和应用访问和依赖于公共目录, 因为它必须是健壮的安全的和可伸缩的。当应用访闷标准的公共目录,雨不是 使用应用特定的目录时,可以消除冗余和管理上的代价,安全风险也得以控制。 使用目录服务可以集成网络服务和应用程序,目录服务通过支持模式扩展, 使网络服务和应用程序与目录服务得集成成为可能。标准得应用程序接口a p i 则使得基于目录应用程序的部署更加容易。 使用一个用户名和口令登录一次性网络和多个主机系统,可以显著减轻网 络和系统管理员的管理负担,减低运行大型企业网的成本。目录是提供一次登 录的基本机制。 网络目录的一次登录可以解决许多不同的用户名和口令所带来的安全隐 患。同时,网络目录可以采用p k i s s l 安全认证机制,进一步增强网络及系统 的安全性。 网络目录为定位在大型企业网上的成百上千的设备提供分类和查找机制, 目录存储了设备的切细节,如网络地址和配置,通过网络目录提供的浏览器, 可以使用可理解的名字或者设备的特征来查找设备。目录简化了定位和访问网 络服务的功能,这些服务包括客户n 务器数据库服务、电子邮件服务、代理服 务等。在非目录的环境中,用户必须使用运行这些服务的服务器的名字或网络 地址来识别这些服务。而网络目录可以存储这些信息,使用户和管理员可以方 便地识别和定位这些网络服务。 网络目录具有位置无关的优点,如果网络管理员移动磁盘或者数据库服 务。 2 5 本章小结 本章介绍了目录演变的历史,简单介绍了目录,目录服务,以及x5 0 0 协 议,分析了目录服务的优势,阐述了目录服务应用的场景,说明了在校园网内 通过目录集成各种应用的正确性。 第三章l d a p 轻型目录访问协议 l d a p 的英文全称是l j 曲t w e i 曲td i r e c t o r ya c c e s sp r o t o c o l ,一般都简称为 l d a p 。它是基于x 5 0 0 标准的,但是简单多了并且可以根据需要定制。与x 5 0 0 不同,l d a p 支持t c p i p ,这对访问i n t e r n e t 是必须的1 3 1 。l d a p 的核心规范在 r f c 中都有定义,所有与l d a p 相关的r f c 都可以在l d a p m a nr f c 网页中找 到。现在l d a p 技术不仅发展得很快而且也是激动人心的。在企业范围内实现 l d a p 可以让运彳亍在几乎所有计算机平台上的所有的应用程序从l d a p 目录中 获取信息。l d a p 目录中可以存储各种类型的数据:电子邮件地址、邮件路由 信息、人力资源数据、公用密匙、联系人列表,等等。通过把l d a p 目录作为 系统集成中的个重要环节,可以简化员工在企业内部查询信息的步骤,甚至 连主要的数据源都可以放在任何地方。 l d a p 协议是跨平台的和标准的协议,因此应用程序就不用为l d a p 目录 放在什么样的服务器上操心了。实际上,l d a p 得到了业界的广泛认可,就是 因为它是i n t e r n e t 的标准。产商都很愿意在产品中加入对l d a p 的支持,因为 他们根本不用考虑另一端( 客户端或服务端) 是怎么样的。l d a p 服务器可以 是任何个开发源代码或商用的l d a p 目录服务器( 或者还可能是具有l d a p 界面的关系型数据库) ,因为可以用同样的协议、客户端连接软件包和查询命令 与l d a p 服务器进行交互。 3 1l d a p 的工作原理 l d a p 是以服务器客户端方式工作的,目录服务将数据库软件的逻辑结构分为前 端( 客户端) 和后端( 服务端和仓库) ( 图3 - 1 ) 【q 团一囝 图3 - 1l d a p 逻辑结构捌 客,! ! = :1 端是直接面对一般开发者和用户的;服务端是用于接收和解释客户请求,然 后以客户的身份完成请求,并将完成结果返回给用户;仓库则是真正存储信息的地方。 在l d a p 中,服务端和仓库之间的连接采用了o d b c 机制,所以可以使用任何支持和 具有o d b c 驱动程序的数据库软件,简单的可以是l i n u x 系统中自带的g d b m 或a l p h a 中的n d b m 等数据库管理系统;也可以选用在功能和性自邕上更优越的o r a c l e 和s y 6 a s e 等系统,这样,可以提高系统的可移植性。 现在已经有了许多基于l d a p 协议开发出的资源管理系统和工具,如o p e n l d a p 、 9 n d s ( n o v e l ld i r e c t o r ys e r v i c e ) 和a d s ( a c t i v ed i r e c t o r ys e r v i c e ) 等。它们已经逐渐 的被使用在了各个需要目录服务的领域,并且应用的趋势在增强。 o p e n l d a p 是m i c h i g a n 大学发布的免费软件,实现了l d a pv 2 的功能,并部分支持l d a p v 3 。它提供原代码,可以在大多数的u n i x 和l i n u x 系统中安装。开发者能够直接和用 它所附带的一些s h e l l 工具开发简单的应用,这些s h e l l 包括了查询( 1 d a p s e a r c h ) 、 修改( 1 d a p m o d i 母) 、删除( 1 d a p d e l e t e ) 、增加( 1 d a p a d d ) 等,关于他们的使用方法可 以参照帮助文件;也可以调用它提供的程序接口( a p i ) 来开发应用,接口包括了查询 ( 1 d a ps e a r c h ) 、修改( 1 d a p 、增加、删除 等。从模_mode)(1dapadd)(1dap_deete) 版的定制到资源信息的组织和输入都可以按照用户的要求进行,开发出满足你要求的 应用软件 3 2l d a p 模型 7 】 l d a p 有四种模型:信息模型、命名模型、功能模型、安全模型。 3 2 1 信息模型;描述l d a p 的信息表示方式 l d a p 信息模型定义能够在目录中存储的数据类型和基本的信息单位。 目录的基本信息单元是条目( e n 仃y ) 即关于对象的信息集合。通常,条 目中的信息说明真实世界的对象,比如一个人。如果查看一个典型的目录,就 会发现数以于计的条目与人、部门、服务器、打印机等组织中的真实对象相符 合。图3 2 表示了典型的目录结构的一部分,其中的对象与组织中的真实世界 对象相符。 图3 2 典型的目录结构 条目由属性集合组成,每个属性说明对象的一个特征。每个属性有一个类 型和一个或多个值。属性类型说明包含在此属性中的信息的类型,而值包含实 际的数据。例如,表3 一l 表示的是描述人的一个条目,具有人的全名、姓、电 话号码、电子邮件地址等属性。 表3 1 描述人的条目表 属性类型属性值 c n : x i e y a n g s nx i e t e l e p h o n e n u m b e r 0 5 5 1 2 9 0 1 1 7 8 m a i l x i e y a n g h f u t e d u c r l l d i f 格式最初是在密歇根大学l d a p 实现中开发和使用的。最初,l d i f 用来描述目录的条目。后来,这种格式被扩展到表示目录条目的改变。应用程 序目录的m i m e ( 多用途的网际邮件扩充协议) 内容类型关联:应用程序目录 的m i m e 内容类型是一种转换目录信息的通用的构架和格式,不依赖于任何一 种具体的目录服务。l d i f 格式是种更简单的格式,可以更易于创建,也可 以被使、用注释,来描述一组应用于目录的更改。 用l d i f 文本格式表示的目录条目,是一种用文本格式表示目录的标准方 式,可以用来从目录服务器导出数据或者向目录服务器导入数据。l d i f 文件 只包含a s c i i 文本,从而允许通过电子邮件系统进行传输。因为它基于文本并 且易读,所以使用l d i f 代表目录条目。下面是一个用l d i f 表示的目录条目: d n :u i d = b j e n s e n ,d c = a i r i u s ,d c 。c o r t l o b j e c t c l a s s :t o p o b j e c t c l a s s :p e r s o n o b j e c t c l a s s :o r g a n i z a t i o n a l p e r s o n o b j e c t c l a s s :i n e t o r g p e r s o n c n :b a r b a r aj e n s e n c r l :b a b sj e n s e n s n :j e n s e n m a i l :b j e n s e n a i r i u s c o r n t e l e p h o n e n u m b e r :+ 14 0 85 5 51 2 1 2 d e s c r i p t i o n :ab i gs a i l i n gf a n 一个l d i f 条目由多行组成。第一行以d n :开始,后跟条目的分辨名。随后 是条目的属性,每个属性一行。每个属性值前面是属性类型和冒号( :) 。属性 值的顺序无关紧要,但是为了使它更容易读,一般把o b j e c t c l a s s 属性放在第一 个,并且把相同的属性类型的值放在一起。 有一种格式更复杂的l d i f ,用来完成对目录条目的修改。 3 2 1 2 模式( s c h e m a s ) 所有条目都有一个必须属性集合和一个可选属性集合。例如一个描述人的 条目必须有一个c r l ( 通用名) 属性和一个s n ( 姓) 属性。人的条目中有许多其 他属性是可选的,而不是必须的。任何属性,如果没有明显说明是必须属性或 可选属性,应该被禁止。 所有关于必须属性和可选属性的信息集合统称为模式( s c h e m a ) ,目录模式 对存储在目录中的信息的类型和值保持控制和维护。 总之,l d a p 信息模型描述条目,条目是目录的基本信息单元。条目由属 性组成,属性由一个属性类型和一个或多个属性值组成。属性的约束用来限制 作为属性值的数据的类型和长度。目录模式规定了一个属性是必须属性还是可 选属性。 3 2 2 命名模型:描述l d a p 中的数据如何组织1 9 l d a p 中的命名模型,也即l d a p 中的条日定位方式。在l d a p 中每个条 目均有自己的d n 和r d n 。d n 是该条目在整个树中的唯一名称标识,r d n 是 条目在父节点下的唯一名称标识,如同文件系统中,带路径的文件名就是d n , 文件名就是r d n 。 l d a p 命名模型定义用户如何组织和引用数据。l d a p 命名模型提供的灵 活性,使用户可以用一种易于管理的方式把条目放入目录。例如,可以创建一 个条目,其中保存描述组织中人的信息的所有条目。或者选择与组织结构相符 的方式 l d a p 模型指定条目以倒树( 根在上) 的形式排列,如图3 3 : 阔3 - - 3 目录树 u n i x 文件系统与目录结构非常相似( w i n d o w s 的目录结构也差不多) a 这样的文件系统由一系列目录和文件组成每个目录由零个或多个文件或目录组 成。图3 4 是典型的u n i x 文件系统的一部分: 图3 4 u n i x 文件系统结构 u n i x 文件系统和l d a p 目录之间有三点不同; 第一是l d a p 模型没有真正的根条目。文件系统有一个根目录,它是所有 文件和目录的祖先。另一方面,在l d a p 目录中,根条目是概念性的不作 为一个可以存放数据的条目存在。有一个称为m o t d s e 的条目,包含服务器相 关的信息,但不是一个通常的目录条目。 第二是目录的每个节点都包含数据,任何节点都可能作为一个容器,即 l d a p 条目允许在他的下面有子节点。文件系统的每个节点或者是文件或者是 目录,但不能同时是二者。在文件系统中,只有且录可以有子节点,而且只有 文件可以包含数据。图3 5 的目录树表示了此概念,注意条目d c = a i r i u s , d c = c o m ,o u = p e o p l e ,和o u = d e v i c e s 都包含数据( 属性) ,也包含子节点。 文件系统和l d a p 目录的第三个不同是树中的独立节点如何命名。l d a p 名称与文件系统名称的方向是相反的。图示这一点。让我们比较上图和下图中 的加阴影的节点。上图中,加阴影的节点是完整名称是u s r b i n g r e p 的文件。注 意,如果从左向右读文件名,你是从树的顶端( ,) 到命名的文件。与之相对的是 下图中加阴影的目录条目的名称,它的名称是u i d = b j e n s e n ,o u = p e o p l e , d c = a i r i u s ,d e = c o r n 。注意,如果从左向右读,就是从命名的条目逆向到达树的顶 端。 1 4 图3 - - 5 l d a p 目录结构 l d a p 支持目录条目的层次排列,但并不是强制某种类型的层次。正如可 以按照用户喜欢和方便的方式自由地排列文件,用户也可以自由地构造希望的 目录层次。 这种自由的一个例外是当l d a p 目录服务实际是一个x 5 0 0 服务的前端。 x5 0 0 命名模型比l d a p 严格得多。在x 5 0 01 9 9 3 标准中,目录结构规则 ( d i r e c t o r ys t r u c t u r er u l e s ) 限定你能创建的层次类型。标准通过指定什么类型的 对象类能作一个条目的直接子条目。比如,在x 5 0 0 模型中,只有描述国家 ( c o u n t r i e s ) 、地点( 1 0 c a l i t i e s ) 和组织( o r g a n i z a t i o n s ) 的条目才能成为目录树 的根。l d a p 命名模型不对树结构作任何限定,任何类型的条目可被放置在树 的任何位置。 除指定如何排列目录条目的层次结构,l d a p 命名模型还描述了如何在指 向目录中的独立条目。 命名模型是为目录中的每个条目给出一个唯一的名称。在l d a p 中,使用 分辨名f d n ) 来唯一标识条类似于文件系统的路径名,l d a p 条目的名称是其父 条目到根的独立名称连接排列而成。比如,看看上图中的目录树。加阴影的条 目的名称是u i d = b j e n s e n ,o u = p e o p l e ,d c = a i r i u s ,d c = c o m 。从左向右读条目名称, 你能跟踪到从条目本身到目录树根的路径。名称的各独立部分以逗号分隔。逗 号后的空格是可选的,以下两个分辨名是等价的: u i d = n e n s e n ,o u = p e o p l e ,d c 。a i r i u s ,d c = c o m u i d = b j e n s e n ,o u = p e o p l e ,d c = a i r i u s ,d e = t o m 3 2 3 功能模型:描述l d a p 中的数据操作访问 l d a p 功能模型说明了能够使用l d a p 协议对目录执行的操作。 l d a p 功能模型包含一个可以分成三组的操作集合。查询类操作允许用户 搜索目录并取回目录数据。更新类操作允许用户对目录条目进行添加、删除和 修改。认证和控制类操作允许客户端向目录证明自己的身份,并在几个方面对 会话进行控制。 除了这三类主要的操作,l d a p v 3 协议通过l d a p 扩展操作定义了添加新 操作的框架。扩展操作以一种有序的方式对协议进行扩展来满足新的市场需要。 ( ( r f c l8 2 3l d a p 应用程序接口定义了l d a p 的c a p i 接口。i e f t 组 织_ i f 在制定l d a p 的j n ,aa p i 接口标准,最新的草案是2 0 0 2 年6 月公布的 d r a f t i e t f l d a p e x t l d a p - j a v a a p i 1 8 t x t ,即草案第1 8 稿。 在l d a p 中共有四类1 0 种操作:查询类操作,如搜索、比较:更新类操作, 如添加条目、删除条目、修改条目、修改条目名:认证类操作,如绑定、解绑 定:其它操作,如放弃和扩展操作。除了扩展操作,另外9 种是l d a p 的标准 操作:扩展操作是l d a p 中为了增加新的功能,提供的一种标准的扩展框架, 当前已经成为l d a p 标准的扩展操作,有修改密码和s t a r t t l s 扩展,在新的 r f c 标准和草案中正在增加一些新的扩展操作,不同的l d a p 厂商也均定义了 自己的扩展操作。 3 2 3 1l d a p 查询类操作i 查询类操作允许用户搜索目录并取回目录数据,有两个查询操作:查询和 比较。 查询操作 l d a p 查询操作用来在目录中搜索条目,并取出单个目录条目。l d a p 没 有读操作,当需要读取某条目时,必须使用一种特殊格式的查询操作,其中限 定了需要取回的条目内容。 i n tl d a p s e a r c h ( i ,d a p + l d , c h a r + b a s e , i n ts c o p e , c h a r4 f i l t e r , c h a r4 a t t r s , i n ta t t r s o n l y ) ; l d a p 查询操作需要6 个参数。 第一个参数是l d a p 连接的句柄。 第二个参数是查询的基对象,这个参数用一个d n 来表示,它表示需要查 询的目录( 子) 树的根。 第三个参数是范围。范围有三个类型。一是b a s e ,是指要限定查询条件 为基对象。这通常用来在目录中找一个特殊的条目。二是o n e l e v e l ,是指用 户想要查询的只是基对象直接下级的条目。三是s u b t r e e ,是指用户想要查 询从基对象以任何路径到树叶的整个子树。图3 6 至图3 8 描述了查询范围 的三种类型: s e z g e hb a 眙= 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论