2024年3月14日发(作者:)

基于LDAP的校园统一身份认证系统的研究与实现

刘斌

【摘 要】With the rapid development of campus network

applications,more and more applications are applied in campus network.

In order to ensure user data consistency and security between various

applications while managing routine maintenance easily, there is an urgent

need of support for the unified identity authentication of campus network

system. Based on the features of the LDAP protocol,this paper mainly

probes into the low coupling converge of multiple application systems and

the LDAP authentication server. We have done some research and

explorations on the unified identity authentication of campus network

system with some cases and last,we propose some solutions

which is combined with real cases.%随着各种校园网应用的快速发展.越来越

多的应用系统运行在校园网上。为了确保各个应用系统之间用户数据的一致性和用

户信息存放的安全性,同时降低管理人员日常维护的难度,校园网需要支持统一身

份认证的要求越来越迫切。本文根据LDAP协议特点,针对多个应用系统与LDAP

认证服务器之间的低耦合衔接问题,通过案例与文献研究相结合的方式,在校园网

统一身份认证方面做出了相关探索和研究,并结合实际案例提出一种相应的解决方

案。

【期刊名称】《电子设计工程》

【年(卷),期】2011(019)023

【总页数】3页(P4-6)

【关键词】统一身份认证;目录服务;LDAP;校园网

【作 者】刘斌

【作者单位】温州大学物理与电子信息工程学院,浙江温州325035

【正文语种】中 文

【中图分类】TP393

随着校园数字化的迅速发展,大量的应用系统应运而生。但是,由于传统开发模式

的局限性,这些应用系统大多使用各自独立的数据库进行身份认证,导致各个系统

之间的认证信息不能互通,并由此产生了若干信息孤岛[1]。用户如果要使用这些

系统提供的服务就要申请多个账户,这样不但给用户带来极大的不便,而且大大增

加了管理员的负担。因此,如何安全有效地整合和管理校园数字化资源、消除应用

系统信息孤岛、实现统一的身份认证,是当前数字化校园建设[2]的热点话题之一。

1 技术简介

LDAP(Lightweight Directory Access Protocol)是轻量目录访问协议。它提供

了一种对目录服务访问的方式,在信息的读操作方面有很大优势,可以实现快速的

查询操作。LDAP是基于X.500标准的一种协议,相对于X.500而言,LDAP协议

简单许多,它可以直接在TCP/IP协议上实现目录服务[3]。由于它简化了X.500

的实现方法,所以被称为轻量级的目录服务协议。

通过LDAP可以将各个应用系统的用户或组织信息以一定的层次结构加以存储和

管理。LDAP是一个比关系数据库抽象层次更高的存贮概念。不同于其他以存储和

操作为主要目的的数据库,LDAP对查询进行了优化。与写性能相比,LDAP的读

性能要强很多,它的查询速度比普通数据库要高出一个数量级,这正符合高校大信

息量的特点。另外,LDAP也支持TCP/IP协议,因此利用LDAP设计出的系统具

有良好的跨平台性。同时,LDAP也是一个相对安全的协议,它可以根据使用者的

需要设计访问控制列表ACL,以此来控制不同用户对服务器的读写操作权限[4]。

当用户的信息被放在LDAP服务器上统一保存时,再也无需分开管理,通过对一

台服务器进行安全监控,就能有效实现对信息安全性的大幅度提高。

2 认证过程

本文采用统一认证的简要思想如下:

1)用户使用在统一认证服务系统注册的用户名和密码登录一个应用系统A;

2)该应用系统A,将用户名和密码连同应用系统的标识一起转发给统一认证服务

器;

3)统一认证服务器核查自己的应用系统注册库,审查该应用系统是否为统一认证

服务的用户系统,同时在用户注册库中核查由该应用系统转发过来的用户名和密码。

待核查完毕后,统一认证服务响应应用系统。

4)如果登陆成功,应用系统自己创建一个Session并将令牌返回给用户,以后用

户端可以通过这个权限令牌持续访问该应用系统,直至用户退出系统或会话超时

[5]。如图1所示。

图1 LDAP认证过程(非SSO)Fig.1 The authentication process of LDAP

(Not a SSO)

根据PHP提供的扩展函数,认证过程可表述为:

1)调用LDAP_CONNECT()和LDAP服务器进行连接,连接成功后LDAP服务

器则会返回会话句柄;

2)利用LDAP_BIND()和服务器进行绑定;

3)使用LDAP_SEARCH()函数遍历LDAP目录树,返回条目信息,并且验证提

交信息是否和条目信息一致。如果一致则验证成功,不一致则认证失败;

4)利用LDAP_UNBIND()解除绑定[6]。如图2所示。

图2 查询认证过程Fig.2 The process of query authentication

3 统一身份认证系统的设计与实现

3.1 系统设计目标

统一身份认证系统功能在于建立一个可以为校园网中各种应用系统提供身份认证的

机制。每个应用系统都可以通过该系统来进行系统用户的身份认证。各个应用系统

不再使用自己的数据库来识别用户身份,而应该和认证服务器实现尽可能的无缝衔

接,从而有效地整合各种服务资源,如图3所示。

根据上述设计目标,可设计出如图4所示的系统构架。

3.2 关键问题

结合我校实际情况设计出的目录信息树结构如图5所示。

图3 整合后的校园网络资源Fig.3 The campus network resources after

integration

图4 统一身份认证系统系统构架Fig.4 The system frame of unified identity

authentication system

图5 目录信息树Fig.5 Directory information tree

针对目录树中Uid必须唯一,且LDAP没有提供自动递增的功能的问题,可在根

下添加一个wzuId字段作为新加入用户的Uid,该字段为整型数,当系统成功添

加一个用户时,该字段的值就会被加一。同理,当再次添加新用户时,直接读出该

值,添加成功后再次对其加一即可。由此就可以解决Uid唯一但LDAP本身不提

供自动递增功能的问题。

现如今大多数高校LDAP统一身份认证的实现方式无非有以下两种,一种是只利

用LDAP服务器进行简单的用户名和密码认证,其余权限交给各自的应用系统单

独控制。另一种是将各个应用系统的控制身份认证规则分别写在LDAP服务器上,

这就给LDAP服务器添加了许多负担,让本来简单的查询变得复杂。

综合考虑以上两种实现方式的利弊,为了更加简便地实现各个应用系统与统一身份

认证服务器之间的低耦合衔接,在设计LDAP目录树时为其添加了一个

wzuService字段,该字段为数组结构,存放了用户能够使用的应用服务名称以及

对应的权限。以校园邮件服务为例,如果用户开启了邮件服务,则可以在该用户对

应的条目里搜索到wzuService=mail_user这个条件,如该用户为邮箱系统管理

员,则对应的条件表示为wzuService=mail_admin;反之,如果搜索不到关于邮

件服务的条件,则表明该邮件服务系统没有对当前用户开放。wzuService字段的

引入不仅实现了对用户身份的认证,还实现了对用户权限的控制。

该部分设计的扩展模式代码:

4 结束语

随着LDAP协议本身的不断发展和完善,随着数字化概念的深入人心和人们对信

息化建设的重视,LDAP的优势也进一步凸显。相信LDAP在网络的发展过程中必

然会占据更为重要的位置。统一身份认证系统本身的实现就是一项复杂的工作,如

何和各种复杂网络环境结合,还需要根据具体情况具体研究,以确保发挥最优作用。

参考文献:

【相关文献】

[1]张明.基于LDAP的单点登录技术的研究与实现[D].湖北:武汉理工大学,2007.

[2]贺超波,陈启买,欧阳辉.数字化校园门户平台统一身份认证的实现[J].现代计算机,2008

(12): Chao-bo,CHEN Qi-mai,OUYANG ent of unified identity

authentication in digital campus portal[J].Modern Computer,2008(12):25-28.

[3]贺玉明.LDAP在数字校园中的研究与应用[D].北京:北方工业大学,2011.

[4]赵曦.基于LDAP的统一认证系统的研究与实现[D].陕西:西安电子科技大学,2009.

[5]李翔,晁爱农,刘孟强.LDAP的研究及其在统一身份认证系统中的应用[J].计算机应用,2008

(S1): Xiang,CHAO Ai-nong,LIU ch and application of

LDAP in uniform identity authentication[J].Journal of Computer Applications,2008

(S1):98-100.

[6]王源.LDAP认证实现与性能分析 [J].电子科技,2010(12):

implementation and analysis of LDAP authentication[J].Electronic Science and Technology,

2010(12):76-79.