校园网统一身份认证系统的设计与实现_第1页
校园网统一身份认证系统的设计与实现_第2页
校园网统一身份认证系统的设计与实现_第3页
校园网统一身份认证系统的设计与实现_第4页
校园网统一身份认证系统的设计与实现_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

1、分类号tp 3.56 学号 2006812100243学校代码10487 密级 无 硕士学位论文在线考试统一身份认证系统的设计与实现学位申请人:张 冲学科专业:计算机技术指导教师:马光志答辩日期:2008年11月design and implementation of uniform identity authentication system based on campus networka dissertation submitted for the degree of mastercandidate:zhang chongmajor:computer technologysupervis

2、or:ma guangzhihuazhong university of science and technologywuhan 430074, p.r.chinaoctober, 2008摘 要随着高等院校中校园网应用的逐渐普及,各种应用系统逐渐增多,校园网应用系统在提供更高层次服务同时,对于用户身份认证,用户服务权限的要求相应的提高,原来每个服务系统各自为政的身份认证方式难以达到这个要求。这就需要建立一个独立的,高安全性和高可靠性的身份认证及权限管理系统。为了解决高等院校各种应用系统用户管理过程中的分散管理的共性问题,论文提出了统一、集中管理用户访问权限的认证方案。论文系统采用ldap目录

3、存储和web services调用的技术,建立了用户信息统一存储、调用接口程序、用户自助管理3个模块。将高校中用户登录系统的基本验证信息统一存储,统一管理,并建立简单、便捷的调用机制,实现数字化校园用户身份认证的统一管理和维护。在用户信息统一存储模块,采用基于ldap协议的sun directory server目录统一存储用户基本认证信息,将用户注册信息写入目录中存储,完成对用户注册信息的存储,达到了读取速度快,系统安全性能高,维护简便的特点。在调用接口程序模块,引用web services服务调用自定义接口类库实现对目录的间接访问。应用系统只需通过web引用web services服务,调

4、用接口类库实现对目录直接操作,以此实现应用系统对目录的间接访问操作,实现了调用简单、安全稳定、管理维护方便。在用户自助管理模块,采用.net技术,实现基于web的b/s自助管理模式,用户根据自己的证件号、身份证号及姓名,完成在系统中的注册、修改等功能,简化了管理维护工作。论文系统在实际应用过程中,很好的解决了多应用系统各自管理用户的问题,方便了使用,简化了管理,提高了安全性和稳定性。论文从系统的开发流程、设计构架和核心技术详细介绍了系统的设计和开发。关键词:轻量级目录访问协议,分布式,校园网,用户管理abstractwith the campus network applications in

5、creasingly popular among the institutions of higher learning, a variety of application systems increasing, application systems in the campus network to provide a higher level of service at the same time, for user authentication, user privileges service the requirements of the corresponding increase

6、in each of the original service. their own system of authentication methods difficult to meet this requirement this requires the establishment of an independent, high security and reliability of the identity and rights management system. in order to solve a variety of institutions of higher learning

7、 management system users in the process of decentralization of common problems, the dissertation put forward a unified, centralized management of user access to the certification program.this system adopts ldap directory system to store and called the web services technology, established of a unifie

8、d storage of user information, called the interface program, user self-service management module. colleges and universities will be in the user login system to verify the basic unity of information storage, management, and to establish simple and convenient mechanism for calling, digital campus user

9、 authentication management and maintenance.unified storage of user information module, based on the ldap protocol sun directory server unified directory to store the basic user authentication information, the user registration information into the directory store, complete the user registration info

10、rmation storage, to read the speed and security high-performance, easy maintenance features.the procedure call interface program module, quote web services called custom interface class library for the realization of the indirect access directory. application systems only through the web to quote we

11、b services, called the interface class library for the realization of direct operate the directory in order to achieve the application of indirect access to the operation of directory,achieved called simply, security and stability, management and maintenance easily. the user self-service management

12、module using. net technology, achieved the web-based b/s self-management mode, the user according to their own papers, identity card number and name, completed the function of registration, modification, and so on, simplified the work of management and maintenance. in the practical application of th

13、e system, primely solved a number of problems of each application systems in user management, facilitated the use of simplified management, increased security and stability. this paper detailedly introduces the design and development of the systems development process, design and architecture,and th

14、e core technology. keywords: ldap,web services, campus network, user management目 录1 绪 言- 1 -1.1 课题背景- 1 -1.2 课题研究的目的和意义- 1 -1.3 国内外研究概况- 1 -1.4 主要研究内容- 2 -2 系统设计方案的研究- 3 -2.1 系统的特点与性能要求- 3 -2.2 系统的体系结构- 4 -2.3 系统实现流程- 5 -2.4 运行环境- 6 -3 系统的设计- 8 -3.1认证信息存储模块- 8 -3.1.1 目录结构规划- 8 -3.1.2 sun one directo

15、ry server目录存储- 10 -3.2调用接口程序- 16 -3.2.1访问目录接口类库- 17 -3.2.2 web services调用类库访问目录- 21 -3.2.3 应用程序调用方法- 24 -3.2.4实现用户在应用系统中的注册- 25 -3.3 用户自助管理- 27 -3.3.1 用户注册验证- 27 -3.3.2 用户信息自助管理- 29 -3.3.3 管理员web用户管理模块- 30 -3.4 配置文件管理软件- 37 -4 系统的实现- 41 -4.1 sun one directory server安装- 41 -4.2 统一身份认证平台架设- 49 -4.2.1

16、userinf项目- 49 -4.2.2 web services服务- 52 -4.2.3用户信息web管理服务- 53 -4.3 应用系统调用- 54 -4.4 sun one administration server管理- 60 -4.5 web远程管理用户- 65 -5 总结与展望- 66 -5.1 总结- 66 -5.2 系统测试- 66 -5.3 展望评估- 69 -致 谢- 70 -参考文献- 71 -附录- 72 - 71 -华中科技大学硕士学位论文1 绪 言本章阐述了校园网用户管理系统的研究背景、研究目的、意义、国内外研究现状及发展方向,明确指出了校园网用户管理系统在校园信

17、息系统中的作用,发展过程以及所面临的问题。1.1 课题背景随着信息技术、网络技术的飞速发展,校园网的应用越来越广,校园内可以接入互联网的计算机的数量已经达到了相当的规模。校园网内已经有一批系统向校内的师生员工提供多样化的信息服务,如主页服务,社区服务、教务服务,校务系统等。如果各个应用系统各自保存不同的身份认证方式,就会存在以下问题:(1) 一个用户登录不同应用系统就需要采用不同帐号,不容易记忆;而很多用户在不同应用系统里面采用同样的帐号密码,不安全;(2) 不同系统都采用自身的一套认证和用户管理机制,不利于学校统一管理;(3) 有些用户离开学校以后由于缺乏统一管理,还可以登录校内一些业务系统

18、。因此随着校园网提供信息服务和质量的提升,对信息安全的需要也越来越强烈。同时,校园网提供更高层次服务的时候,对于用户的身份认证,服务权限管理的要求相应地提高,原来各个服务系统各自为政的身份认证方式难以达到这个要求。这就必须要一个独立的,高安全性和高可靠性的身份认证及权限管理系统。在这种情况下,为了解决目前校园应用系统用户登录信息分别保存在各自的系统内,存在不能集中管理、统一分配权限、不能保证用户登录信息安全的情况下提出该课题。1.2 课题研究的目的和意义本文系统是为了解决高等院校各种应用系统在用户管理过程中的共性问题,是集中管理高等院校资源访问权限的认证方案,降低高等院校的权限管理及维护成本,

19、具有高扩展性、高安全性的解决方案。从而将系统定位于建立一个统一身份认证平台,将高校中用户登录系统的基本验证信息统一存储,统一管理,对应用系统统一授权;建立简单、便捷的调用机制,实现数字化校园用户身份认证的统一管理维护。1.3 国内外研究概况统一身份认证已经不是一个新颖的课题,国内外都已经开始这方面的研究和实施,而且也有一些商业产品,也有很多高校自主开发的系统,综观这些应用系统,分析如下:商业产品一般都是基于ca认证系统,提供各种数字证书的应用接口,提供相应的用户管理模块,单点登录等功能,功能齐备,但是商业产品价格不菲,后期开发以及维护相对较困难;很多高校自主研究的系统都是针对自己学校的应用,缺

20、乏方便、快捷的调用方法。该方案的思路是开发一个安全的存储以及方便、快捷的系统调用方法,即解决了昂贵的费用问题,同时又便于在高校中的推广应用。1.4 主要研究内容本文系统是一个集中的用户认证管理系统,可管理和分发用户权限和身份,为不同的应用系统提供用户和权限管理服务;本文系统采用统一的注册验证机制,确保用户注册的真实身份;将用户信息资源统一保存到认证服务器中,保证了信息资源的安全稳定,单一可靠;完善的接口连接服务,支持基于任何平台的各种应用系统的调用,简单易实现;各应用系统只需保留角色和权限控制,用户数据信息资源统一保存在认证服务器中,用户和角色的管理由应用系统自行管理,从而简化了应用系统中用户

21、管理模块的建设和用户后期维护。本文系统的目标就是建立一个统一的身份认证平台,将高校中用户登录系统的基本验证信息统一存储、统一管理;同时建立简单、便捷的调用机制,实现数字化校园用户身份认证的统一管理维护。本文系统研究的内容主要包括如下三个方面:(1)身份信息的统一存储,需要在容量、效率、可靠性、安全性等各方面都有很高的保障;(2)身份信息的便捷调用,需要提供方便的调用机制,提供通用性强,广泛适用的接口程序,而且安全、可靠、高效。(3)身份信息的统一管理,需要支持批量操作,同时支持用户自助管理等;论文第一章介绍了课题背景、意义和研究现状;第二章介绍了校园网用户管理系统的分析与设计;第三章介绍了本文

22、系统的设计方法及关键技术;第四章介绍本文系统的具体实现方法和过程;应用情况;第五章总结了该系统在实际应用中取得效果以及存在的有待改进的问题。2 系统设计方案的研究2.1 系统的特点与性能要求在现实校园中,每一个成员都有一个固定的身份,用户的身份决定了用户在校园空间所享有的权限。“数字化校园”是现实校园在数字空间的反映,因此对于“数字化校园”中的每一个成员,在数字空间也相应地需要有一个固定的身份,即电子身份。“数字化校园”是个系统工程,较完整的“数字化校园”将包括诸如电子邮件、视频点播、社区服务、校务系统等应用系统。如果每个系统都建立独立的身份认证系统,将不利于使用和管理,如图2.1所示。图2.

23、1 目前校园网应用系统单独、各自进行身份认证状况从上图可以看到,“数字化校园”中的应用系统会随着时间的推移而逐渐增多,而这种各个应用系统用户认证各自独立的情况已经给用户带来了诸多不便。应用系统和用户数量的不断增加,众多用户面对多个应用系统,而各个应用系统都有自己的一套安全策略和用户认证授权方法。因此用户不得不记忆不同应用系统的用户登录信息。这样不论是用户使用,还是应用系统的管理维护,都增加了应用系统的开发和管理成本,假如用户在各个应用系统采用同样简单的用户密码,将会对应用系统安全性产生影响。因此,为了满足“数字化校园”建设的需要,校园网内各种应用系统应该采用统一的用户认证信息存储,统一的身份认

24、证接口,并在此基础上,将各自分立的应用系统的验证信息统一起来,实现用户统一管理、认证和授权,这种集成的系统就是校园网用户统一身份认证管理系统。当需要构建校园网用户管理系统统一身份认证平台时,首先要解决几个主要的问题:身份信息的统一存储、身份信息的统一管理、用户身份认证服务。(1) 身份信息的统一存储,需要在容量、效率、可靠性、安全性等各方面都有很高的保障,本文系统采用ldap目录服务来存储用户认证信息。目录服务用来保存描述性的,基于属性的信息,并且支持复杂的过滤搜索能力。目录被优化为针对大量的查找或者搜索操作进行快速响应的存储。(2) 身份信息的统一管理,需要支持批量操作,如成批数据导入导出、

25、批量更新等。将存储归为统一之后,该系统包含了用户基本信息导入导出程序、用户自助管理系统、配置文件管理软件等相关系统,实现了身份信息的统一管理。(3) 用户身份认证服务,需要提供一个通用性强,广泛适用的接口程序,而且安全、可靠、高效。本文系统采用web services服务向应用系统提供统一身份认证服务。web services是自包含的、模块化的应用程序,它可以在网路中被描述、发布、查找以及被调用。2.2 系统的体系结构根据上述研究分析,本文将高校统一身份认证系统分为三个模块,如图2.2所示:目录存储用户认证信息数据库存储真实验证信息用户管理系统web services 调用接口程序应用系统应

26、用系统c/s导入导出目录管理平台应用系统应用系统图2.2 统一身份认证系统结构图从上图可以看出该系统共分为三个模块:(1)认证信息存储模块此模块主要完成用户认证信息的存储,存储信息的备份/恢复,批量管理注册用户帐号,单个管理用户信息;(2)调用接口程序模块此模块主要完成对用户认证信息和用户验证信息的调用,实现应用程序对目录存储的调用、访问、管理等功能;(3)用户自助管理模块此模块主要完成用户自助管理,实现注册信息管理,密码维护,忘记密码找回等功能。2.3 系统实现流程1、在认证信息存储模块中,采用了ldap目录存储技术,实现用户信息的统一存储,其中目录存储的设计结构图如图2.3 所示:dc=z

27、zti,dc=edu,dc=cncn=peoplecn=groupscn=departmentscn=services图2.3 目录存储结构树图其中:people目录存储所有师生的详细信息。groups目录用于分组管理各种资料。例如可以分为老师和学生等。departments用于存储学院各级各部门的信息。services则是各类服务的信息。2、调用接口程序模块中,采用web services技术,实现跨平台、跨系统、简捷、安全的调用模式,其中应用系统调用存储流程图,如图2.4所示:应用系统应用系统应用系统应用系统web services 调用ldapclassess类库用户认证信息存储图2.4

28、 应用系统调用存储流程图3、用户自助管理模块中,采用基于web的方式,实现用户对于个人信息的自主管理,其中用户验证信息流程图,如图2.5所示:统一身份认证系统验证验证成功用户访问应用系统判断应用系统用户信息验证失败统一身份认证注册从目录中取出相关信息写入应用系统应用系统存在该用户应用系统不存在用户应用系统验证成功图2.5 用户在采用统一身份认证架构的应用系统中注册流程图2.4 运行环境本文系统共分为三个模块,其中各自的运行环境要求如下:1、认证信息存储模块:因为该模块中认证信息的存储采用的是基于ldap的sun one directory server服务,该服务提供有windows版本和so

29、laris版本的安装程序,考虑到系统的稳定性和安全性因素,建议运行环境采用基于solaris操作系统下的sun one directory server服务器。2、应用系统调用模块因该模块主要使用web services服务实现应用系统对于认证信息的调用,调用参数采用xml存储,运行服务需要提供支持微软.net framework 1.1 及iis6.0的windows环境。3、用户自助管理模块用户自助管理模块采用微软的visual studio开发,基于c#的a技术,需要提供支持.net framework 1.1 及iis6.0的web环境。3 系统的设计本文系统实现了校园应用系统用户认证

30、信息的安全存储和共享调用,用户只需要在统一身份认证系统中进行注册,在任何应用系统中都可以采用此注册信息,保证了用户注册信息的安全、单一、独立、共享。应用系统调用认证信息是通过调用接口程序来实现的,当用户在采用了统一身份认证的应用系统登陆时,应用系统首先调用web services程序,将输入的用户名和密码通过web services调用接口类库传输到用户认证信息模块中进行验证,然后同样的途径反馈给应用系统一个true或者false,从而完成应用系统用户验证。通过上述三个模块的设计,本文系统实现了高校“数字化校园”中应用系统的用户认证的统一管理。下面将根据针对各个模块的具体实现,总结如下:3.1

31、认证信息存储模块本文系统中用户注册信息的存储是通过基于ldap协议目录服务的sun one directory server的目录存储,采用基于ldap协议的规划设计,继承了solaris操作系统的安全可靠,桌面化批量管理等一系列优点。认证信息存储模块的各种设计规划,对于统一身份认证系统的可扩展性、访问效率、安全可靠性等各方面都给予了充足的保障。认证信息存储模块的主要任务:目录结构规划、sun one directory server目录存储、批量/单个用户管理。3.1.1 目录结构规划本文系统中将采用基于ldap协议的目录进行用户注册信息的存储,简单介绍ldap如下:ldap(lightwe

32、ight directory access protocol:轻量级目录访问协议)是由美国michigan大学研发的一个新的目录访问协议,是一个信息目录,目录服务中的目录对象可以代表管理系统中的组织信息、人员信息以及资源信息等,几乎可以存储所有类型的数据:点子邮件地址,dns信息、nis映射、联系人信息列表和电话等信息。ldap中目录由条目(entry)组成,条目相当于关系数据库中表的记录;条目是具有区别名dn(distinguised name)的属性(attribute)集合。ldap协议集还规定了dn的命名方法、存取控制方法、搜索格式、复制方法等。目录采用树状的层次模型,是目录中存储的对

33、象信息在用户面前表现为一个有序的整体,在一定程度上简化了网络信息和资源的集中管理。目录不同于一般的关系数据库,它并不是处理频繁的数据更新及表达复杂的对象联系。相反,在对目录的操作请求中,查找请求的频率要远高于更新请求频率,因此目录一般都被设计为针对查找进行优化,以大量存储相对静态的数据。适合该系统大量对用户注册信息的读取、查找。ldap协议既是跨平台的也是基于标准的、互联网上的各种应用无论是运行在unix或windows下,都可以通过tcp/ip访问ldap server上的目录服务信息,无论什么服务器操作系统、文件系统或平台对于客户机都是无关紧要的。ldap是基于tcp/ip的应用层协议,l

34、dap服务是典型的c/s模式,需要读写目录信息的应用并不直接访问目录,它通过调用函数或api接口将消息传递给另一个进程,第二个进程作为该用用的代理来访问目录的信息,然后将得到的结果返回给该应用。因此对用户直接访问和基于ldap的应用开发都是有标准规范的。便于系统的升级、开发,适用于该系统网络访问。在起初选择用户注册信息存储方式时,对比过目录存储和关系型数据库存储的优缺点,总结ldap目录存储在如下方面具有更好优势: 大量需要频繁读取但修改较少的数据管理方面分层次系统地存储信息方面信息管理与信息检索的集中化采用树状结构,非常方便的可扩展性采用跨平台标准协议,适用于各种系统平台结合如上优点,本文决

35、定采用目录结构存储用户注册信息,提出如下三种解决方案:(1) windows 平台需求:windows 2000 sever或以上的服务器版本active directory 是windows 2000 server及其更高版本的集成服务,大部分的win server 服务如dns,授权服务,组策略,分布式文件系统,集群服务器,远程安装等。仅配置一台win server服务器即可实现。(2) gnu/linux平台redhat linux,或fodora coreredhat linux带有openldap安装软件包openldap开放源代码,易于理解系统架构技术细节,也能在社区及时同核心开发

36、人员取得联系。一种灵活支持所有授权方式的产品。(3) 商业unix系列平台sun solaris 8以上版本sun open network environment directory server及其周边产品性能优越,稳定性高,适合企业级服务本文中的系统完成之后将用于校园网用户注册信息的存储,需要在安全性、稳定性、可靠性等各方面提出更高要求,综合考虑之后,本文选择第三种方案。因为,solaris操作系统在稳定性、安全性等方面是经得住考验的,商业的目录服务经过了商业的考验更加可靠和稳定。为了使目录服务能够更加可靠更加灵活的完成用户认证信息的存储任务,必须重新设计目录的结构。上一代目录以服务为基

37、础。而新的目录将以信息为基础。本文系统采用以服务为辅助的方式进行设计。先开发存储,再开发应用。针对本文系统为高校校园网用户统一身份认证系统,本文根据目前高校身份认证的需要,将用户注册信息保存节点设计如下表3.1所示:表3.1目录节点设计表目录节点含义注释uid用户名英文字母或数字注册userpassword密码ssha加密cn姓名sn学号/职工号givenname身份证号mail邮件用于找回密码displayname昵称ou类别student/teacher本文系统主要用于存储和管理各应用系统的用户名和密码,唯一用于区分用户身份的节点就是ou,通过判断ou=student、ou=teacher

38、或者ou=vip来判断是学生、教师或者其它身份,至于用户在各个系统中的身份、角色、权限,完全由应用系统中存储的该用的信息来决定。sun one directory server目录在节点上的设置有个很大的优点,默认情况下,目录本身就定义了100多个节点,可以根据自己的需要随意扩充,本文就采用了使用sn表示学号,givername表示身份证号,这样就可以根据用户对目录节点的需要,适当的进行增加节点数量,以此满足了用户对系统扩充的需要。3.1.2 sun one directory server目录存储sun one directory server的目录服务采用ldap协议,ldap协议的查询效

39、率很高,即使是上百万用户,查询速度也极快;目录采用节点结构,sun 目录本身已经自定义了100多个节点,便于用户系统的使用和扩充;该目录服务,作为一个整体来讲更具优势,它采用分布式结构,更加开放,形成的客户资料全部由用户系统自己掌握,增加了安全性;在项目实施过程中,sun one directory server给人印象最深的就是开放性,它在管理上的伸缩性优于其他同类产品。本文系统的sun one directory server 安装在sun的280r sparc服务器的solaris9.0操作系统上,从服务器选择、操作系统选择、目录存储软件选择完全采用sun公司的产品,在系统稳定性,安全性

40、,可靠性上都得到了最大限度的保障。关于目录存储,因为这是一个完善的商业软件,本文系统对于它的使用只是冰山一角,本文现在只是采用了它的存储功能,对于sun公司的这个强大系统,本文不多做介绍,下面针对在安装、配置方面使用的一些用法、配置介绍如下:本文介绍安装的服务器是sun 280r,操作系统选择solaris9.0 sparc,操作系统安装完毕之后,配置ssh远程连接,ftp服务,关闭一些不使用的服务诸如sendmail,nfs等之后可以参照sun公司提供的sun one diretory server 5.2安装配置指南,进行安装,具体安装如下:1从sun官方网站下载directory ser

41、ver安装文件,下载路径: 在下载时,会需要你在sun的官方网站注册用户,然后就可以免费使用,本文选择的是sun one directory server5.2版本。本文除了下载了针对solaris版本的目录安装文件,同时下载了基于windows版本的安装文件,solaris版本安装在服务器端,通过在windows系统下安装sun one目录客户端,可以远程调用服务器端,如同在服务器端操作。2安装之初,需要准备如下表3.2内容所示:表3.2 sun one directory server安装准备资料列表名称用途参考内容管理域设置节点dcz固定ip地址提供固定服务0域名

42、远程客户端访问必须l目录管理员id目录管理员admin(默认)目录管理员口令123456目录管理员dn目录超级用户cn=directory manager目录管理员dn口令12345678(最少八位)directory server端口号提供调用/远程访问389/ldap 390/ssl服务器后缀确定dcdc=zzti,dc=edu,dc=cn目录服务id目录名称ldap安装路径solaris安装路径/var/sun/mps/serverroot3建议在安装sun one 目录之初,将solaris 9.0的系统补丁升级至最新;4如果solaris9.0系统是5.9版本,安装目录相对简单,超级

43、管理员登陆之后:root# tar xvf /zc/sun-directory-server-sparc.tarroot# ./setup5在安装过程中,将提前准备的信息一一写入,完成安装。6简单一些管理路径和命令: root# serverroot/slapd-serverid/start-slapd 启动目录服务root# serverroot/slapd-serverid/stop-slapd 停止目录服务root# ./serverroot/start-admin 启动目录管理root# ./serverroot/stop-admin 停止目录管理root# ./serverroot/

44、startconsole 启动客户端管理界面当服务器端solaris版本安装完毕之后,建议安装一个windows版本的客户端,便于远程管理,windows版本的客户端安装相对简单,这样可以通过客户端连接对目录服务进行操作。1.运行客户端管理程序之后,如下图3.1所示:图3.1安装sun one 基于windows版本2.登陆客户端之后,用户将看到如下界面,图3.2: 图3.2 sun one server 客户端界面其中,administration server提供桌面方式的服务器管理,比如停止服务器、重新启动服务器、配置administration server等等。本文系统主要操作的是d

45、irectory server(ldap),所有目录服务的管理、配置都可以在sun提供的客户端管理模式进行。3双击directory server(ldap)之后,进入对目录的管理操作,图3.3:图3.3 客户端sun one directory server界面针对上图,可以看到,sun one directory server 功能十分强大,在目录存储方面,很多管理都可以在客户端完成,下面针对各个不同功能介绍如下:tasks选择下,可以启动、停止、重启directory server;可以直接采用sun one提供的备份、恢复工具完成对目录的备份恢复工作,安全、可靠、方便、简单;关于ldi

46、f的导入、导出可以用于批量用户的导入,关于这点本文开发了一个小程序,用于将邮件系统的用户批量导入到统一身份认证系统中:针对高校的应用,从sun one directory server导出到ldif的结构如下:dn: uid=lihongkai,ou=accounts,dc=zzti,dc=edu,dc=cnuid: lihongkaicn: 5p2o5rsq5yevgivenname:n: 200400414223mail: xiaokai159displayname: 6zu244op6led6zuiou: ou=student,cn=groups,

47、dc=zzti,dc=edu,dc=cnobjectclass: inetorgpersonobjectclass: organizationalpersonobjectclass: personobjectclass: topuserpassword: sshaxmudztk4va88cla86w0wwcpzrq9td5gzxrdbfg=creatorsname: cn=directory managermodifiersname: cn=directory managercreatetimestamp: 20060325130927zmodifytimestamp: 20060325130

48、927znsuniqueid: 79c7a581-bc0011da-80c1bc96-74d65f61parentid: 10entryid: 15977entrydn: uid=lihongkai,ou=accounts,dc=zzti,dc=edu,dc=cnhassubordinates: falsenumsubordinates: 0subschemasubentry: cn=schema同样可以采用这种方式对目录数据进行备份和恢复,本文批量导入用户的方法,就是采用将用户根据上述节点要求,用自己开发的程序,将用户相关信息写成ldif能够识别的格式,然后采用ldif导入,即实现了用户的批

49、量导入,同样道理,sun one directory server可以实现用户的批量导出。ldif导入,图3.4:图3.4 客户端目录导入图可以选择只添加。ldif导出,图3.5: 图3.5客户端目录导出图选择目录,将看到sun one directory server的目录存储结构,本文所有的用户信息都保存在dc=zzti,dc=edu,dc=cn下的accounts里,图3.6:图3.6 用户信息存储目录结构在客户端或者服务器端都可以对用户进行添加、编辑、删除等管理操作,因为有一些节点,不是默认设置的,而本文开发的web services 调用的却是统一的节点操作,所以,对于单个用户的操作

50、管理,本文都是通过web进行管理。3.2调用接口程序该系统使用asp.net创建一个xml web services 提供统一认证接口,实现对目录的访问操作,其他应用系统只要调用web services即可完成对目录的访问。该系统接口支持数据结构的动态改变,当底层的目录服务发生变化时,可以通过修改xml保存的字段映射库来更改映射信息,当目录的连接发生变化时,可以通过修改xml保存的连接映射库来更改连接信息。为了考虑到系统以后的扩容和应用程序调用的方便和易实现,本文采用两级调用的方式,首先自定义一个ldapclasses.dll类库,通过这个类库可以对目录进行操作,类库建好之后,自己开发的系统可

51、以直接调用类库对sun one directory server进行读写操作,然后通过建立web services来调用类库,使得web services同样可以访问目录服务,这样其他应用系统可以通过各种方法调用web services即可实现对目录服务的操作。3.2.1访问目录接口类库统一身份认证系统需要为多种web服务器提供相应的代理接口,系统开发之初考虑到对目录的操作和访问,不会局限于自主开发的系统,肯定会有学校其他老师开发,或者商业性软件,那么让别的用户针对该系统,直接访问目录存储,就不太现实,所以,本文就设计了这个通过接口类库来访问目录的方法,首先,这种方法具有如下优点:1易扩展随着

52、以后的发展,学校的目录结构肯定会扩充,节点数量会有所增加,如果采用应用系统直接对目录进行操作,一旦目录结构发生变化,则所有调用目录的应用系统都需要做二次开发。现在采用接口类操作的形式,一旦目录结构变化,无需更改目录结构,只需将接口类库替换一下即可,实现了系统的易扩展性。2易操作如果每个应用系统都要直接对目录进行操作,则不同开发模式的系统都需要研究对目录的操作方法,增加开发的难度,现在用户在建设.net应用程序或者web程序时,只需添加引用即能够使用对目录的调用方法,简单、方便,减少了开发难度3易转移当用户对目录访问时,需要确定目录机器的ip或者域名,一旦发生更改,则所有的应用系统都需要重新编译

53、才能访问,现在采用类接口访问的方法,对写有访问路径xml的存储文件访问,一旦发生变化,直接更改xml存储文件即可。目录接口类库是采用微软.net技术开发了一个ldapclasses项目,编译生成的ldapclasses.dll类库,该类主要用于为web services提供操作接口,同时也为本地配置程序提供接口,总之所有对目录的访问操作都是通过该类库来实现的,这样就实现了调用本文自定义的函数和方法,增加程序代码的可重复利用性,减少用户的重复开发。下面将详细介绍ldapclass类库的原理和调用方法,从名称上也可以看出,顾名思义,这个类库就是用来操作ldap目录的,下面介绍一下类库操作的流程:通

54、过usermanager的构造函数,获得所有连接和字段的映射信息,所有的数据操作都调用fillfield方法,通过fillfiled方法就会依次读取m_cfields的datasource数据连接类型,并为不同的连接建立不同的fieldaccess的派生类,然后返回所有建立好的fieldaccess的派生类的集合。然后不同的操作就可以枚举并调用基类不同的方法,基类会自动找到其派生类的函数,从而实现所有操作。下面简要介绍一下其中的类和函数:(1) user类,用于表示一个用户/用于存储虚拟字段信息的集合private field m_field;/以虚拟字段为参数的构造函数/主要用于初始化user的虚拟字段public user(field field);/m_field字段的外部属性接口public field field/得到属性字段的个数public int count/索引器,用于返回指定字段名的虚拟字段public field thisstring s/索引器,用于返回第n个虚拟字段public field thisint i/返回各虚拟字段的字段名的集合public string fieldnames(2) field类:用于记录字段信息,进行字段映射/虚拟

温馨提示

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

评论

0/150

提交评论