




已阅读5页,还剩70页未读, 继续免费阅读
(计算机应用技术专业论文)基于目录服务的统一身份认证系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 y7 4 1 5 8 9 基于目录服务的统一身份认证系统的 研究与实现 摘要: 随着网络信息化建设的不断深入,网络应用月益丰富,使得网络 管理特别是用户管理越来越复杂。对提供单一服务的系统来说,一般 采用的都是基于“帐号一口令”对的认证方式。当用户需要使用相应 的服务时,系统会要求用户提供帐号和口令,然后对该“帐号口令” 对进行验证。显然,用户在网络的不同应用中有着不同的权限,每个 应用都需要设置帐号和口令。用户面对多个应用系统需要输入不同的 帐号和口令,不仅烦琐,而且容易出现口令丢失的安全隐患。 轻量目录访问协议l d a p ( l i g h l w e i g h td i r e c t o r ya c c e s sp r o t o c 0 1 ) 是一个开放的、可扩展的网络协议,目前已经发展成为目录服务的标 准,它简单、安全,优化了信息查询功能,支持分布式目录、同步复 制技术和跨平台的数据访问。轻量目录访问协议l d a p 逐渐成为网络 管理的重要工具和方法。 为建立一个统一的身份认证系统,轻量目录访问协议l d a p 提供 了基础和工具。本文在研究了轻量目录访问协议l d a p 的基础上,设 计并实现了基于目录服务的统一身份认证系统,将所有用户的帐号、 口令、权限等基本信息都保存在同一个目录中。这样,所有的应用服 务器使用同一个目录中的用户信息。在这种方式下,用户信息没有不 一致的问题,维护管理负担也较少,对于发生的变化只需要在一处更 改即可。 本文首先介绍了目录、目录服务的基本概念和特性,并且对目录 数据库和关系型数据库进行了对比。然后,对轻量目录访问协议l d a p 北京交通大学硕士学位论文 的工作方式、数据模型、命名模型、功能模型和安全模型进行了分析。 在此基础上,本文重点设计并实现了基于目录服务的统一认证系统, 详细描述了系统的几个主要功能模块的划分、设计和实现。此外,为 了提高系统的响应时间,提出并实现了l d a p 连接池。 【关键词】目录,目录服务,轻量目录访问协议l d a p ,目录信息树, 连接池 2 a b s t r a c t s t u d y a n d i m p l e m e n t a t i o n o fa s y s t e m o f u n i f i e d i d e n t i t y a u t h e n t i c a t i o n b a s e do n d i r e c t o r y s e r v i c e a b s t r a c t w i t ht h e d e v e l o p m e n to fn e t w o r ki n f o r m a t i o nc o n s t r u c t i o n ,n e t w o r k a p p l i c a t i o n sb e c o m e m o r ea n dm o r e c o m p l e x ,e s p e c i a l l y u s e rm a n a g e m e n t f o rt h es y s t e mw h i c hp r o v i d e ss i n g l es e r v i c e ,a u t h e n t i c a t i o nm e t h o di s u s u a l l yb a s e do n u s e r - n a m ea n dp a s s w o r d w h e nau s e rw a n t st ou s es o m e s e r v i c e ,t h es y s t e mw i l la s kh i mt op r o v i d eu s e r - n a m ea n dp a s s w o r d ,a n d t h e na u t h e n t i c a t et h e m o b v i o u s l y , u s e rh a v ed i f f e r e n tp u r v i e wi nd i f f e r e n t n e t w o r ka p p l i c a t i o n ,s oe a c ho fi th a st ob es e tu s e r - n a m ea n dp a s s w o r d u s e rh a st oi n p u td i f f e r e n tu s e r - n a m ea n d p a s s w o r d f o rd i f f e r e n ta p p l i c a t i o n , w h i c hi sn o to n l yt r o u b l e s o m eb u ta l s oe a s yt ol o s et h ep a s s w o r d l d a p ( l i g h t w e i g h td i r e c t o r y a c c e s sp r o t o c 0 1 ) i sa no p e na n d e x t e n s i b l en e t w o r kp r o t o c o l ,a n dn o wh a sb e c o m es t a n d a r do fd i r e c t o r y s e r v i c e i ti ss i m p l ea n ds e c u r i t y ,o p t i m i z ef u n c t i o no fi n f o r m a t i o ns e a r c h , a n ds u p p o r td i s t r i b u t e d d i r e c t o r y , s y n c h r o n i z a t i o nc o p yt e c h n o l o g y a n d m u l t i p l a t f o r md a t aa c c e s s g r a d u a l l y , l d a p i sb e c o m i n ga ni m p o r t a n tt o o l a n dm e t h o dt om a n a g en e t w o r k t os e tu pa s y s t e mo fu n i f i e di d e n t i t ya u t h e n t i c a t i o n ,l d a pp r o v i d e s f o u n d a t i o na n dt 0 0 1 b a s e do nt h es t u d yo fl d a p p r o t o c o l ,t h es y s t e mi s d e s i g n e da n di m p l e m e n t e dw h i c hk e e p sb a s i cu s e ri n f o r m a t i o n ,s u c ha s u s e r - n a m e ,p a s s w o r d ,p u r v i e w , i n t h es a m e d i r e c t o r y t h u s ,a l l t h e 3 北京交通大学硕士学位论文 a p p l i c a t i o n s e r v e r su s et h eu s e ri n f o r m a t i o ni nt h es a m e d i r e c t o r y d e p e n d e do nt h i sm a n n e r , t h e r ei s n t t h ep r o b l e mo fd i s a g r e e m e n t ,a n d m a i n t e n a n c eb u r d e ni sa l s ol e s s ,f u r t h e rm o r et h ep r o c r e a n tc h a n g eh a st o b ee d i t e da to n l yo n e p l a c e i nt h ef i r s t p a r t o ft h i s t h e t i s ,t h ec o n c e p t sa n dc h a r a c t e r i s t i c so f d i r e c t o r ya n dd i r e c t o r ys e r v i c ea r ei n t r o d u c e d ,a n dd i r e c t o r yd a t a b a s ei s c o m p a r e dw i t hr e l a t i o n a ld a t a b a s e t h e nw o r k i n gm o d e ,i n f o r m a t i o n a l m o d e l ,n a m i n gm o d e l ,f u n c t i o n a lm o d e la n ds e c u r i t ym o d e la r ea n a l y z e d o nt h eb a s i so ft h a t ,t h e s y s t e m o fu n i f i e d i d e n t i t y a u t h e n t i c a t i o ni s e m p h a t i c a l l yd e s i g n e da n di m p l e m e n t e d i ti si n t r o d u c e di nd e t a i lt h a t d e s i g n a n d i m p l e m e n t a t i o n o fs e v e r a lf u n c t i o n a l m o d e l s b e s i d e s ,t o i m p r o v e t h er e s p o n s et i m eo ft h e s y s t e m ,l d a pc o n n e c t i o np o o li sb r o u g h t f o r w a r da n di m p l e m e n t e d k e yw o r d s d i r e c t o r y , d i r e c t o r ys e r v i c e ,l i g h t w e i g h td i r e c t o r ya c c e s s p r o t o c o l ,d i r e c t o r yi n f o r m a t i o nt r e e ,c o n n e c t i o np o o l 4 引言 1 引言 1 1 研究背景及意义 1 1 1 原有网络认证方式的局限性 对提供单一服务的系统来说,一般采用的是基于“帐号一1 2 1 令” 对的认证方式。也就是用户在注册的时候,选取一个帐号( 通常只包 含英文、数字、下划线等) ,并自行设置一个口令。当用户需要使用相 应的服务时,系统会要求用户提供帐号和口令,然后对该“帐号一口 令”对进行验证,如果帐号与口令匹配,则通过用户身份认证,为用 户提供相应的服务;否则将不允许用户使用服务。 目前网络中,为用户提供的服务多种多样,例如邮件服务,拨号 服务,财务信息查淘等等。这些系统都具有自己独立的、功能完善的 用户管理和认证系统。而用户在网络的不同应用中有着不同的权限, 每个应用都需要设置帐号和口令。当用户使用不同的网络应用服务时, 需要分别在不同的系统中进行用户身份认证,因此会带来下述的各种 问题: 对于用户来说,面对多个应用系统要输入不同的帐号和口令,不 仅给用户带来定的负担,而且容易出现口令丢失等安全隐患。 对于管理员的要求比较高,要求管理员对网络操作系统比较熟 悉。 每个系统都需要单独存放一份用户及相关信息的列表,而在不同 系统之间,这些信息很多是重复的,造成数据冗余和系统资源的 浪费。 由于各系统之间的数据无法同步,用户对某个系统基本信息的修 北京交通大学硕士学位论文 改不能体现在其他系统中。因此,当用户需要修改某项个人信息 时,必须登陆所有的应用系统,分别对每个系统进行修改,这给 用户带来了很大的不便。 随着网络日益复杂化,用户需求的不断提高,新的网络服务不断 增加,现有网络用户身份认证方式的弊端正逐渐表现出来,建立个 统一的、完善的、安全的、易于管理的、有良好扩展性的网络用户身 份认证系统迫在眉睫。 1 1 2 基于目录服务的认证方式 要解决上述的这些问题i ,需要把各个单独的用户信息系统集成起 来,使其用户数据可以共享,从而将用户信息和具体应用相对独立, 形成一个统一的身份认证系统。网络用户只需要一个帐号和口令就可 以使用不同的应用,而对于某个具体的应用则按照一定的规则赋予用 户某种权限,实现对重要资源的授权访问控制。这样既能保证数据的 安全,又方便用户操作,同时加强了网络管理的功能。 目录服务为建立这样一个统一的身份认证系统提供了基础和工 具。目录服务是一个功能强大、安全可靠、使用灵活的网络系统管理 工具,它将各种分布的资源和服务集中到一个一致的、无缝的系统中, 从而加强了网络管理的功能,提高了网络系统的使用效率。目录服务 形象的讲,就像网络的电话簿,它提供的是网络中所有资源的信息目 录。网络中的用户、服务器、应用系统、网络设备都可以由目录服务 集中管理,形成一个巨大的资源库。 但是,随着网络种类以及各种应用的不断增加,专门存储这些信 息的目录也越来越多,各目录之间的信息不能共享,更难于维护。轻 量目录访问协议l d a p ( l i g h t w e i g h t d i r e c t o r y a c c e s s p r o t o c 0 1 ) 是一个 2 引言 开放的工业标准,它定义了访问和修改目录信息的标准方法,统一了 各种不同的目录,是管理跨平台、跨环境的复杂网络资源的重要手段。 目前l d a p 已经得到广泛的支持和应用,越来越多的生产厂商在自己 的产品中增加了支持l d a p 这一项功能。同时,基于l d a p 目录服务 的应用也越来越广泛,例如黄页服务、邮件服务、网络管理、公钥管 理等等。 在各种网络环境中,比较大型的网络通常具有用户量大、流动性 强、资源丰富、网络服务和应用系统繁多等特点,因而管理工作量大, 管理难度也较高。针对大型网络的上述特点,我们通过目录服务来改 进网络中的应用服务系统,以满足用户认证的自动化、统一化、简单 化的需要。基于目录服务的用户统一身份认证系统的建成,使我们实 现了用户的统一认证,提高了服务质量,减少了校园网用户管理的劳 动强度和工作量,降低了用户管理出现差错的机会,增强了网络的安 全性和可靠性,提高了网络系统的使用效率。 1 2 研究现状 目录服务并不是一个全新的i n t e r a c t 概念,早在1 9 8 6 年就已经有 公司提供目录服务。多年来,目录服务与i n t e r n e t 同步发展,从本地目 录,到网络目录,再到跨平台目录和可扩展的开放目录,经历了十几 年的时间,是个逐步完善演变的过程。 早期的目录服务主要用于i r i t e r n e l 上的用户查找或电子邮件地址的 搜索。随着i n t e r n e t 的迅猛发展。目录服务的应用在不断地扩展,从网 络操作系统到应用程序服务器,再到网络应用程序,由此目录服务渗 透到电子商务、网络管理等相关领域中。在网络发展日益复杂化的今 天,如何对网络进行高效智能化的管理是当前的一个研究和开发热点。 3 北京交通大学硕士学位论文 目录服务以其支持分布式环境、安全可靠、灵活方便等优势走向网络 管理的舞台。采用目录服务进行网络管理已经成为网络发展的一种趋 势。 m 录服务独特的优势为用户的统一身份认证提供了个完整的信 息模型和灵活的管理工具。目前国内已经有一些高校将目录服务应用 到校园网络的各种管理中,如北京大学利用目录服务实现校园网用户 管理、东南大学提出基于l d a p 的p k i 证书库,合肥工业大学建立了 基于l d a p 的代理计费管理系统等等。此外,还有很多高校正着手将 目录服务应用到校园网络的管理中来。采用目录服务进行校园网用户 的管理也成为网络发展的一种趋势。 目前已经开发出支持目录服务的服务器软件有:n e t s c a p e 公司的 d i r e c t o r ys e r v e r :密歇根大学在l i n u x 平台下开发的o p e n l d a p ;i b m 公司的e n e t w o r kl d a p d i r e c t o r y ;m i c r o s o f t 公司的w i n d o w s 2 0 0 0 中的 a c t i v ed i r e c t o r y n o v e l l 公司的n d s 8 ;s u n 公司的l d a p 服务器等。 这几种流行的目录服务器软件在运行平台、功能、结构等方面各有千 秋,但在对于目录服务的管理和访问方面却都不够友好,缺乏一个简 单直观、使用方便的用户界面。 现有l d a p 的主要开发工具有:密歇根大学的l d a p 3 3 及 o p e n l d a p1 2 x 中的c 语言a p i ;融合在操作系统中的l d a pc 语言 函数库;n e t s c a p e 的d i r e c t o r ys d k ( f b rc ,j a v a ) 及p e r l d a p ( 底层 调用c 语言a p i 的p e r l 语言模块) 。 1 3 论文内容 本文的主要工作是设计了一个基于l d a p 目录服务的用户统一身 份认证系统,并在l i n u x 平台下实现了该系统。该系统的主要内容包括: 4 引言 利用目录服务实现多个应用系统的用户统一身份认证;实现基于w e b 的l d a p 信息服务;提出并实现了l d a p 连接池。此外,本文还深入 研究和分析了轻量级目录访问协议l d a p 的结构以及各种模型。 本文包括五章: 第一章:简要介绍了原有用户认证的缺陷,以及基于目录服务统 一身份认证的意义和研究现状。 第二章:介绍了目录、目录服务的概念和特性,轻量级目录访问 协议的发展过程和概念,详细分析了协议的结构以及各种模型,并与 关系型数据库进行比较,分析了l d a p 的优缺点。 第三章:设计了基于l d a p 目录服务的统一身份认证系统,给出 了设计目标、系统总体结构框架和系统每部分的具体设计方案。 第四章:根据第三章的系统设计方案,给出了系统的详细实现过 程,其中主要包括统一身份认证的实现,基于w e b 的l d a p 信息服务 的实现和l d a p 连接池的实现。 第五章:总结本文的研究工作,提出需要改进的地方。 l d a p 目录服务协议 2l d a p 目录服务协议 2 1 目录 2 1 1 目录的概念 目录【1 】是由一群数据个体按照某种便于检索的结构组织起来的数 据集合。例如,u n i x 操作系统中的文件目录、域名系统i ) n s ( d o m a i nn a m e s y s t e m ) 、x 5 0 0 、l d a p 、活动目录等等。 目录是一种特殊的数据库,它以对象的形式存放着描述性的、基 于属性的信息。在一个目录中可以存放各种各样的对象,包括网络设 备、用户信息等等。不同的对象可以定义各种属性来对该对象进行描 述,例如用户的信息可以包括用户帐号、口令、权限、电话号码、e m a i l 地址等等。 用户或应用程序可以根据已经存在的信息在特定的目录中查找相 关的其他信息。如可以在用户信息目录中查找某个用户的电话号码或 者e m a i l 地址。在设备管理目录中查找最近的一台打印机。在应用服 务器目录中查找某个可以查询客户帐单信息的服务器等等。我们所熟 悉的黄页服务和白页服务就能很好的说明目录的用途。 2 1 2 目录的特性 目录通常被称为一种特殊的数据库,所以有很多特性使其区别于 普通的关系型数据库。下面从四个方面来描述目录的特性: 存储内容 目录主要用来提供快速的信息查询。在人们对目录信息的访问中, 读操作和查询操作的使用频率远远高于更新操作。而且目录必须能支 持成千上万用户的大量查询请求,为了提高访问效率,通常被优化为 7 北京交通大学硕士学位论文 仅提供读操作和少量的更新操作。所以,目录中存储的信息多是更新 频率很低的静态数据,例如用户的帐号、口令、电话号码等等。 同时,由于目录是以对象的形式保存数据,所以数据的范围非常 广泛,例如用户、打印机、路由器、应用程序等各种性质的数据都可 作为存储的内容。 存储模式 在目录中,信息存储的基本单位是条目,条目相当于我们熟悉的 关系型数据库中表的记录,用户可以定义各种属性来描述该条目。这 种模式使得信息的存储非常灵活。同时,这些条目是以一种树状结 构一一目录信息树组织起来,它具有良好的扩展性。管理员可以在不 修改任何已有结构和其他对象信息的情况下,根据需要添加新的对象 到相应的层次中。 存储方式 目录支持数据的分块和冗余存储,不同的服务器之间以指针相连, 这一点使得目录服务能很好的适应分布式环境。根据各地的实际情况 和用户需要,采用信息分块和备份存储可以大大提高访问的速度和效 率。当客户端在所访问的一个目录服务器上找不到所需要的信息时, 服务器会返回一个指向另外一个可能包含该信息的目录服务器( 可以 是本地或异地) 的参考指针( r e f e r r a l ) ,客户端根据返回的信息继续查 询。 t 这里的冗余存储可能会在数据更新时带来短暂的不一致,但是前 面介绍过,目录中的信息大多是变更频率很低的数据,对实时性要求 不是很高,所以短暂的不致是可以容忍的。 访问方式 目录服务不支持复杂的s q l ( s t r u c t u a lo u a r yl a n g u a g e ,结构化查 l d a p 目录服务协议 询语言) 查询和更新,有专门的协议一一轻量目录访问协议l d a p 提 供客户对目录服务器的访问。在l d a p 的支持下,用户可以采用统一 资源定位器u r l ( u n i f o r m r e s o u r c e l o c a t o r ) 访问某一目录中的信息, 但是这不是一种很方便的访问方式。我们将在后面几节中详细介绍轻 量目录访问协议l d a p 。 在l d a p 中还提供了很多访问目录服务的a p i ( a p p l i c a t i o n p r o g r a m m i n gi n t e r f a c e ) 函数,可以和用它们开发各种基于l d a p 的客 户端应用程序。 2 2 目录服务 2 2 1 目录服务的概念 目录服务提供对目录信息的访问,使用户得到和使用目录中的信 息。目录服务的特点主要是优化数据读取性能和存取结构灵活。利用 目录服务,客户可以通过信息资源的名字快速查询和定位资源,而不 必关心资源的具体位置。 目录服务可以分为两种: 局部目录服务( l o c a l ) 局部目录服务是在一个受限制的范畴中提供服务,例如一台单机 上的目录服务。 全局目录服务( g l o b a l ) 全局目录服务是在更广的范畴中提供目录服务,这种目录服务通 常是分布式的,目录信息存储在网络中的多台主机上,它们联合起来 提供目录服务。i n t e m e t 域名系统( d n s ,d o m a i nn a m es y s t e m ) 就是 一种全局分布式目录服务。 北京交通大学硕士学位论文 镁tcpip一tcpip 1 0 l d a p 目录服务协议 提供认证服务。可以为多种应用和服务提供认证服务,在这一类 型的应用中,目录服务作为认证数据库。在身份认证通过后,进 一步起到资源访问控制的作用。 为企业提供黄页服务。目录可以保存网络中的各种设备,如打印 机、服务器以及其他各种共享资源的详细信息,为用户提供一个 统一的、全局的访问界面,增加了灵活性和系统的功能。 网络管理。随着分布式系统的不断发展,网络目益复杂化,建立 一种智能型的网络是发展的必然趋势,各个不同厂家的产品在这 种网络中可以存储和检索网络的拓扑结构以及相关配置信息。目 录服务以其独有的特性正成为f 一代智能网络的核心。 2 3l d a p 概述 轻量目录访问协议l d a p l 3 】是一个标准的、可扩展的目录访问协 议,它基于x 5 0 0 标准。之所以称之为轻量,是因为l d a p 用相当于 x 5 0 0 标准1 0 的代价实现其9 0 的功能。l d a p 协议规范最早是由密 歇根大学的研究人员在1 9 9 3 年7 月提出的。 l d a p 经历了从l d a p v l 、l d a p v 2 到l d a p v 3 的发展过程。 l d a p v l 比较简单,只提供了基本的访问功能;l d a p v 2 存在一些问题, 目前已经被废弃:l d a p v 3 比较成熟,已经稳定下来了,目前成为i n t e r n e t 标准。现在大多数目录服务产品都支持l d a p v 3 ,所以我们习惯上提到 的l d a p 主要指l d a p v 3 。 目前,l d a p 已经逐渐独立于x 5 0 0 标准,而且市场上支持l d a p 的产品已经非常普遍,基于l d a p 的应用也越来越广泛。为了更好的 了解l d a p ,下面将对l d a p 的结构和模型进行详细的分析和介绍。 北京交通大学硕士学位论文 2 4l d a p 工作方式 l d a p 协议基于客户服务器模型,客户通过t c p 1 p 向服务器发送 操作请求,目录服务器负责在目录中执行必要的操作,在完成了必要 的操作后,服务器将包含结果或错误的响应返回给请求的客户。 l d a f 协议是一个面向报文的协议。客户向服务器发送一个l d a p 请求报文,服务器处理请求,并以l d a p 报文的方式把结果返回给客 户。 l d a p 可以在一个连接上实施多个操作。图2 - 2 说明了l d a p 客户 和l d a p 服务器的一般交互过程。 操作请求 l d a p l i ) a p 客户端 一 操作响应 服务器 解除绑定( u n b i n d ) 一 图2 - 2l d a p 客户,服务器模型 ( 1 ) 客户和l d a p 服务器建立一个会话,这称为绑定( b i n d ) 到服 务器。客户指定l d a p 服务器的主机名或者l p 地址和l d a p 监听请求 的端口号,并提供用户名和口令进行身份认证,也可以建立一个具有 缺省访问权限的匿名会话。客户和服务器也可以建立一个使用加密的 安全会话。 ( 2 ) 客户对目录数据执行操作。l d a p 提供读取和更新功能,允许 查询和管理目录信息。l d a p 也支持对任意用户指定标准的查询。在查 询时可以指定查询的起点,也可以使用查询过滤器。 1 2 l d a p 目录服务协议 ( 3 ) 当客户完成全部操作请求时,关闭和服务器的会话,这称为 解除绑定( u n b i n d ) 。 2 5l d a p 模型 l d a p 协议从四个方面描述了l d a , p 模型,即数据模型、命名模 型、功能模型、安全模型。 2 5 1l d a p 数据模型 1 条目 条目( e n t r y ) 是存储于目录数据库中的基本信息单元,用于存储 数据。条目代表现实世界中的对象,例如人、服务器、组织等等。每 个条目由一组属性( a t t r i b u t e ) 构成,每个属性由一个属性类型和一个 或多个属性值构成。属性类型【4 l 描述了包含在属性中信息的类型,以及 该属性是否可以具有多个属性值,属性值则是实际存储的数据。一个 属性描述了一个对象的某种特性。例如描述一个用户的条目,应该有 姓名、电话、地址等多个属性,其中电话这个属性就可以有多个值, 如家庭电话、办公室电话等。表2 - 1 中列出了一些常用的属性。 表2 - 1 一些常用的属性 属性描述举例 c o m m o n n a m e ( c n ) 条目的名字 j o h ns m i t h s u r n a m e ( s n ) 姓氏s m i t h t e l e p h o n e n u m b e r ( t e l ) 电话号码0 1 0 - 5 1 6 8 8 5 0 0 o r g a n i z a t i o n a l u n i t n a m e ( o u ) 组织单元的名称 h r d e p a r t m e n t o r g a n i z a t i o n ( o ) 组织的名称n j t l l 我们可以看到,目录中的条目相当于关系型数据库中表的记录, 属性相当于关系型数据库中表的字段,而属性类型则相当于字段的数 据类型。但是,在关系型数据库中,每个字段只能有一个值,而在目 北京交通大学硕士学位论文 录中,一个属性可以包含多个同类型的值。图2 3 显示了条目、属性、 属性类型、属性值之间的关系。 图2 3 条目、属性、属性类型、属性值之阆的关系 属性类型有一个与它相联系的属性类型规则,它规定了在对属性值 进行比较与查询时如何操作。例如c a s e l g n o r e s t r i n g 规则规定了在比较 和查询操作时忽略字母的大小写。此外,属性类型还规定了一个属性 是否可以拥有多个值,默认是允许多值。例如,m a i l 属性可以拥有多 个值,而u i d 属性只能拥有单个值。 l d a p 目录树中的每一个条目对应着一种特定的对象类 ( o b i e c t c i a s s ) ,由对象类来定义条目的结构。每个对象类由多个属性 类型组成,每个属性类型有所对应的语法和匹配规则。每个条目创建 时,必须定义所属的对象类,还必须提供对象类中必选属性类型的属 性值。表2 2 列出了一些对象类及其必选的属性。 表2 - 2 一些对象类及其必选属性 对象类描述必选属性 c o m m o n n a m e ( c n ) l n e t o r g p e r s o n定义了一个人 s u m a m e ( s n ) o b j e c t c l a s s o r g a n i z a t i o n l u n i t 定义了一个部门 o b j e c t c l a s s 1 4 l d a p 目录服务协议 另外,l d a p 要求为每个对象类必须指定一个特定的标识符o i d , 还可以指定一个名称用来引用该对象类,若未明确指定名称,则以标 识符o i d 来引用该对象类。 在l d a p 标准中规定了一些基本的对象类,例如国家( c o u n t r y 或 c ) 、组织( o r g a n i z a t i o n 或o ) 、部f j ( o r g a n i z a t i o n l u n i t 或o u ) 、个人( p e r s o n ) 等。还允许用户定义新的对象类型或扩展原有的对象类型。 2 模式 模式( s c h e m a ) 是属性类型、对象类和其他一些信息的集合,服 务器用这些信息来决定如何匹配条目的属性。常用的属性类型和对象 类被定义在几个标准模式中,例如j a v a 模式( r f c 2 7 3 1 ) 、c o r b a 模 式( r f c 2 7 1 4 ) 。 在l d a p 中,模式居于核心地位,定义了它所提供服务的详细内 容,用户使用模式作为l d a p 的语法。关系型数据库的s c h e m a 是在创 建表或者视图时就建立的,而l d a p 的s c h e m a 是由配置文件来确定的。 我们既可以自己写模式,也可以借用别人写好的模式。要想把自己写 的模式放到i n l e r n e t 上供所有用户使用,那么必须得到i a n a ( i n t e m e t a s s i g n e dn u m b e r s a u t h o r i t y ) 的批准。 3 目录信息树 关系型数据库使用二维表的形式来组织数据库中的记录,而l d a p 使用树型结构来组织目录中的条目,这棵树被称为目录信息树d i t ( d i r e c t o r y i n f o r m a t i o n t r e e ) 。图2 - 4 给出了一个具体的d i t 示意图。 北京交通大学硕士学位论文 图2 4 一棵d i t 示意图 d i t 中的条目是按地理位置和组织关系来组织的,d 1 t 的顶级是国 家,国家下面是组织,再下一级是组织单位和个人。d i t 的深度没有限 制,可以根据需要定制。 d i t 树的根节点( r o o t ) 是一个没有实际意义的虚根,条目就是树 中的节点,树中任意一个节点都可以作为目录信息树的入口。d i t 可以 根据i n t e m e t 域名排列,因为可以使用d n s 作为目录服务的定位服务。 2 5 2l d a p 命名模型 l d a p 的命名模型描述条目的组织结构以及如何标识目录中的条 目。在d i t 树中,每个条目有一个相对辨识名r d n ( r e l a t i v e d i s t i n g u i s h e dn a m e ) ,用来区分和它处于同一层次的兄弟条目。每个条 目还有一个全球唯一的名字,称为辨识名d n ( d i s t i n g u i s h e dn a m e ) 1 5 l , 它是从d i t 树的根开始,一直到该条目,所有经过条目的r d n 组成一 组有序序列,各r d n 中问用逗号分隔。l d a p 就是根据辨识名d n 来 引用所有条目的,d n 相当于关系型数据库表中的关键字。图2 5 显示 了棵i n t e r n e t 命名方案的d 1 t 。 】6 l d a p 目录服务协议 组织 组织单位 组织单位中的人 r d n d c = e d u d c = n j t u 0 u 2 j c n = z h a n g s a n 图2 - 5i n t e m e t 命名方案的d r r 图中对象z h a n g s a n 的辨识名d n 可以表示为: c n = z h a n g s a n ,o u = j s j ,d c = n j t u ,d c = e d u 由逗号隔开的每一部分就是r d n ,分别代表d i t 中的分支。 2 5 3l d a p 功能模型 l d a p 功能模型描述了如何通过l d a p 协议对目录信息进行访问 和修改的基本操作。关于l d a p 各种操作的详细描述在r f c 2 2 5 1 中, 所有这些基本操作分为三类: 查询操作,包括条目的查找( s e a r c h ) 和比较( c o m p a r e ) 操作, 用于从目录中获取信息。 更改操作,包括条目的添加( a d d ) 、删除( d e l e t e ) 、重新命名 ( r e n a m e ) 和修改( m o d i f y ) 操作,用于更改存储在目录中的信 息。 验证操作,包括绑定( b i n d ) 和解除绑定( u n b i n d ) 操作,用于 控制与一个服务器建立或断开连接,获得目录访问权限和保护信 息。 1 查询操作 1 7 北京交通大学硕士学位论文 查询操作是l d a p 中最常用、功能最强大的一项操作。它允许客 户向服务器提交请求,服务器根据客户的条件返回d i t 中满足客户需 要的条目的部分或全部信息。查询操作可以很简单也可以很复杂,用 户可以指定查询的起始位置( d n ) 、查询范围( 深度) 和查询过滤器【6 】, 还可以限定返回条目的数量和返回属性的列表等。 执行查询操作时可以指定以下参数: 基对象 基对象定义了查询起始点的d n ,也叫查询的基点。在d i t 中表现 为一个节点。 范围 指定从基对象开始在d i t 中的查洵深度,此参数有三个值可选: b a s e o b j e c t 、s i n g l e l e v e l 和w h o l e s u b t r e e 。其中b a s e o b j e c t 仅查询基对象, s i n g l e l e v e l 查询紧跟基对象的子集,基对象本身并不参加查询,而 w h o l e s u b t r e e 查询基对象和它所有的下属。 查询条件 查询条件操作符包括“= ”、“ ”、“c ”和“! ”等等。此外,查询 条件还可以与布尔操作相结合组成更复杂的查询。 返回属性 返回属性用于指定返回相匹配的属性,这可以使用户仅仅看到那 些他感兴趣的属性。 限制 限制操作用于限定查询时间和返回条目数,它可以防止发生那些 占用大量资源的查询。 2 更改操作 目录服务主要为数据的查询进行了性能和功能上的优化,而对于 1 8 l d a p 目录服务协议 信息的更新和修改则相对薄弱,尤其对于大批量信息的经常更新以及 事务回滚等方面远不及关系型数据库功能强大,所以l d a p 主要适用 于那些经常进行信息查询,而较少进行大批量更改的应用场合。 3 验证操作 验证操作用在客户与服务器建立会话或结束会话。会话可提供几 个不同层次的安全性控制,包括:匿名会话、基于口令验证的会话以 及使用s a s l 机制加密的会话。 2 5 4l d a p 安全模型 l d a l o 的安全模型插述了如何保护u ) a p 目录中的信息不受未授 权访问的破坏。在l d p u p 中制定了使用安全机制的通用a p i 函数,其 实现主要有以下几种方法:匿名认证、基本认证以及简单认证和安全 层机制。 1 匿名认证 匿名认证即不对用户进行身份认证,对信息没有任何安全性要求 时可以使用这种方式。客户在绑定服务器时不提供d n 和口令,服务器 自动地建立一次匿名会话,同时分配预先定义好的权限给当前用户。 2 基本认证 基本认证是一种最简单的认证方法。l d a p 客户端在申请与服务器 建立连接时,只要将自己的d n 和口令传送给服务器,服务器通过检查 d n 和口令是否与目录中的一个条目匹配来判断该用户是否合法。使用 这种方法,客户和服务器之间所有传输的口令和消息都是明文方式, 所以这种认证方法只适用于对安全性要求不高的情况下。 3 简单认证和安全层机制 简单认证和安全层机制( s i m p l e a u t h e m i c a t i o n a n d s e c u r i t yl a y e r , 】9 北京交通大学硕士学位论文 s a s l ) i ”是一个框架,它为面向连接的协议提供额外的认证机制。s a s l 是l d a p v 3 中新增的功能,这是一种通用的安全框架,由r f c 2 2 2 2 进 行说明。采用s a s l 是对l d a p 协议的扩展,通过使用命令来识别这 种认证机制并执行认证交互,在认证后可以选用不同的安全层来进行 加密,保证数据传输的安全性。l d a p v 3 中的这个命令是 l d a p _ s a s lb i n d 0 。该函数在调用时可以设置参数,用来确定其所选用的 安全机制,如k e r b e r o s 、m d 5 等。图2 - 6 显示了s a s l 机制。 图2 6s a s l 机制 2 6 分布式l d a p l d a p 目录服务中可以包含各种的信息,有时一个目录中包含的信 息不能集中放置在一台l d a p 服务器上。这时,就应该将这些目录信 息分散在若干个l d a p 服务器上。分布地存放在多个l d a p 服务器上 的目录称为分布式l d a p | 1 1 】。 当信息量很大或者根据需要信息要分布存储时,通常将d i t 树分 成多个部分存储在多个l d a p 服务器上,其中每一台l d a p 服务器就 l d a p 目录服务协议 是一棵d i g 子树,把所有l d a p 服务器上的数据集中起来就是一棵完 整的d i t 树。一个目录分区是d i t 的一棵完整子树减去分配到其他分 区中的部分。任何一个条目都只能存放在一个目录分区1 z 。可以通过 使用参考指针( r e f e r r a l ) 把多个目录分区粘合起来。 每台l d a p 服务器除了提供d i t 树信息以外,还要提供自身的信 息和其他服务器的信息。l d a p 服务器自身的信息就是本地d i t 树的 “根”( 目录服务条目代理d s e ,d s a s p e c i a le n t r y ) ,其他l d a p 服务 器的信息就是“参考指针”。 参考指针是一种网络指针,是指在本地l d a p 服务器无法完成客 户端请求时,本地l d a p 服务器给客户端返回参考指针,让客户端通 过参考指针再向其他的l d a p 服务器提出请求。参考指针在目录信息 树中也是一个条目,它的对象类o b j e c t c l a s s 为r e f e r r a l ,并且还有个 属性一一r e f ,其值为它所要指向的l d a p 服务器的u r l 。参考指针只 是一个逻辑的连接,并没有实际的物理实现。 使用参考指针带来的好处是,具有同一个名空间的目录放在了不 同的地方,使目录数据库数据的增加不受限制,当然增加了客户端的 响应时间。 2 7l d a p 与关系型数据库的比较 l d a p 目录数据库是一种特殊的数据库,与通常的关系型数据库相 比有着自己的优点。可以从以下几个方面对二者进行一个比较1 8 】: 读写操作 l d a p 中,对数据的“读,查询”操作比“写更新”操作频繁的多, 因此l d a p 中存放相对静止的数据信息,并且l d a p 对读操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询服务费收取方案模板
- 旅游主题活动策划方案范文
- 药物制剂工新员工考核试卷及答案
- 活性炭碳化工设备维护与保养考核试卷及答案
- 东莞网络整合营销方案
- 营养品主题营销方案模板
- 深圳建筑方案设计院
- 文献阅读打卡活动方案策划
- 福建体育培训活动策划方案
- 党团主题活动策划方案案例
- DL∕T 781-2021电力用高频开关整流模块-PDF解密
- T∕CACM 024-2017 中医临床实践指南 穴位埋线减肥
- 【ZYJ7型电液转辙机道岔工作原理与故障维修11000字(论文)】
- 学生心理健康一人一档、一人一案表
- 毕业设计(论文)-水果自动分拣机设计
- 食品科技的未来2024年的食品创新与食品安全
- 我国的宗教政策课件
- 老年抑郁量表GDS、焦虑自评量表SAS、心理状态评估量表MSSNS、汉密尔顿抑郁量表(HAMD)
- 1、山东省专业技术职称评审表(A3正反面手填)
- 高级微观经济学
- 起重机械主要参数课件
评论
0/150
提交评论