APP下载

单点登录认证框架在校园共享系统中的应用

2011-10-18史云鹏

中国教育信息化 2011年15期
关键词:单点身份数字化

史云鹏,赵 旻

(1.青岛电视大学胶州分校,山东 胶州 266300;2.青岛市第五十一中学,山东 青岛 266071)

单点登录认证框架在校园共享系统中的应用

史云鹏1,赵 旻2

(1.青岛电视大学胶州分校,山东 胶州 266300;2.青岛市第五十一中学,山东 青岛 266071)

针对目前数字化校园建设中各种跨业务范畴应用系统各自独立运行、独立认证的问题,本文分析研究单点登录认证框架在校园共享系统开发中的可行性与实现流程。使用集成SSO机制的J2EE开发框架整合改造已运行使用的各业务系统,与新开发的Web应用系统耦合,实现链接。实现安全有效的用户管理和不同域上应用系统的统一认证。

数字化校园;单点登录;Web服务;系统集成

一、引言

数字化校园建设以信息资源与信息服务为核心内容,以实现数字化的学习、教学、科研和管理为目标。随着校园信息化建设的不断深入,各种基于校园网络的应用系统在行政办公、教学科研、后勤服务工作中广泛应用。由此,教育资源信息系统的研发成为数字化校园建设的核心内容,其研究的重点是以信息整合及服务集成为目标,实现教学资源的充分共享,各业务部门能够优化数据,便捷管理和使用,并且系统能够提供良好的安全性以及个性化服务。然而,目前学校各种跨部门、跨业务应用系统各自独立运行、独立认证的弊端也逐渐突显出来:各应用系统缺乏耦合,教学信息资源没有合理整合优化,校园网络难以集中管理;系统用户权限不清,缺乏统一的角色访问控制,安全性存在较大隐患。

以我校数字化校园建设项目为例,其建设目标是建设一个具有现代化水平的信息化校园,经过几年的努力各业务部门根据需要建立部署了图书管理系统、教务管理系统、学籍管理系统、后勤管理系统、职业资格考核报名系统、校园一卡通系统等,而这些独立于各业务部门的应用系统各自的身份管理缺失耦合。研究表明,基于单点登录认证机制的Web Services架构在数字化校园资源共享系统中的开发应用,能够对原有系统进行数据整合和应用整合,通过对各系统站点数据的优化整合共享资源,使全校业务运行更加规范,节约成本,提高效率;通过提供单一的访问入口,进行统一身份认证,安全控制、易于管理。

二、数字化校园共享系统中应用单点登录认证框架的可行性分析与实现机制

1.可行性分析

传统的应用系统认证机制普遍是基于用户名/密码的,采用分散的用户管理,这种身份标识是分别被每个系统保存的,无法相互传递。这就需要用户在进入不同系统时都要分别提交身份标识,来通过系统的认证,才能调用不同站点提供的服务。

广泛应用于学校各部门、各业务领域的信息系统正是由于这种各自运行、独立认证的弊端使得数字化校园建设缺失统一的角色访问控制,教育资源得不到合理优化高效利用。基于效率和安全的因素,我们在数字化校园资源共享系统的开发架构中使用了一种认证信息共享模式的单点登录SSO(Single Sign On)机制。基于单点登录机制的J2EE设计架构把原来分散的用户管理集中起来,各系统之间依靠相互信赖的关系来进行用户身份的自动认证。单点登录SSO使得只需进行一次身份认证就可达到对多个应用系统进行访问,提高了用户工作效率。单点登录从根本上抛弃了传统认证中用户名/密码以明文传输的方式,采用了结合密码学技术的新认证机制,从而提高了整个系统的安全性。另外,采用SAML(安全断言标记语言)和SRP(安全远程密码协议)实现SSO,同时提高了跨越数字化校园边界的安全信息互操作性,使各不相同的安全系统身份认证达到一体化,优化了网络系统的安全管理控制。

2.SSO单点登录模型及实现流程

单点登录是应用于Web Services服务器的一种认证信息共享机制。[1]应用系统需要从用户那里收集所有必要的证明和用户凭证信息,用以支持可能会与之发生作用的其他应用系统对用户的认证。

使用单点登录集成架构之前,每个系统都会有各自的安全体系和身份认证系统。用户访问系统都需要输入相应系统正确的用户名和口令,鉴权通过后方可访问。

单点登录后,用户在经过一次网络身份验证后,就可以访问所有授权的网络资源,而不需要额外验证。例如,如图1所示,资源共享系统有Ⅰ、Ⅱ、Ⅲ三个应用服务子系统,实现单点登录的流程是:

当用户访问Ⅰ应用服务时,会被引导到认证系统或用户管理系统中进行登录①,根据用户提供的登录信息,认证系统进行身份校验,若通过校验,返回给用户一个认证的票据(ticket)②;

票据是系统给登录的合法用户发放的一张许可证。各服务系统仅根据用户票据提供服务访问,因此用户可以通过该合法票据实现对所有应用系统的统一访问。票据在整个支撑体系中是唯一的,并对用户进行了身份绑定,用户无法通过伪造或交换票据来非法侵入系统。票据上印有时间戳和用户属性,系统可以通过属性实现对用户访问的个性化控制;

用户再访问Ⅱ、Ⅲ应用服务的时候就会将这个票据附带上③⑤,作为认证凭据,应用系统接收到请求之后把票据送到认证系统进行校验,检查票据的合法性④⑥。若通过校验,可以不需再次登录而直接访问Ⅱ、Ⅲ应用服务。

三、单点登录集成框架在校园共享系统中的设计与开发

1.共享系统SSO认证整体架构设计思路

为了满足系统能够提供安全有效的用户管理,实现不同域上的应用系统统一认证,使用集成SSO机制的J2EE开发框架整合改造已经运行使用的各业务系统,增加对SSO支持,与新开发的各Web应用系统优化耦合,集成于共享系统中,实现无缝链接。

已部署的应用系统拥有各自的用户库(用户数量、密码、账号),在共享系统中要做到用户信息的统一。我们可以将单点登录系统中的用户数据与其他各Web应用系统中的用户数据建立映射,实现一个帐号管理多个系统的目的。另外,共享系统之内的各业务系统可能不在同一个域下,由于用来传递会话ID的Cookie不允许跨域访问,因此我们采用基于XML-RPC的临时会话而非共享会话的方式来实现单点登录,通过在客户端浏览器、单点登录系统和Web应用系统之间传递临时会话,Web应用系统直接到单点登录系统中获取认证信息来实现单点登录。用XML-RPC在Web应用系统和单点登录系统之间进行通讯,能够实现各应用系统跨域访问,以及屏蔽不同开发工具开发的应用程序之间难以访问的问题。而这种开发整合,恰好符合J2EE开发平台具有良好兼容性的特点,使认证系统能够屏蔽这种平台差异,实现SSO在不同应用域的跨越。

另一方面,设计集成系统的可扩展性和松散耦合特性也是基于以下两方面的考虑:若有新的应用系统在校园共享系统部署时,能够将新的应用系统方便地集成到单点登录系统里进行统一的认证和授权;当单点登录系统的内部结构发生变化,也可以保证这种变动对于用户和其他应用系统来说是透明的。

2.数字化校园共享系统整体架构设计与开发

(1)系统整体架构及各Web服务的实现

共享系统架构包括单点登录认证平台SSO,LDAP数据库,Web Services集成服务。[2][4]数字化校园共享系统整体架构如图2所示。

1)SSO单点登录系统:包括CAS服务器,为应用系统提供认证和授权服务。

2)用户和系统信息数据库:采用标准的LDAP目录服务数据库,以层次结构、面向对象方式对校内用户和应用系统的信息进行管理,保证数据的一致性和完整性,为校园网的各类应用系统提供用户信息共享使用。

3)Web Services集成服务 (通过 Web Services技术将各功能模块封装成Web Service部件后发布到UDDI注册中心,以方便其他应用通过接口调用),包括:SOAP处理器、事务处理器和适配器三个模块。SOAP处理器实现SOAP消息的传递;事务处理器负责对用户各种事务请求的处理和响应;适配器为每个应用提供不同的接口以供调用;建立与后端服务器的通信连接和安全机制;实现XML-RPC数据格式在各应用子系统数之间的转换;实现在SOAP处理器与适配器之间的消息传递。

中心站点各Web服务的实现:首先,资源站点将提供的资源服务接口用WSDL描述后,将本站点Web服务注册到UDDI注册中心。注册中心审核并发布审核通过的资源站点Web服务。其次,由目录中心调用UDDI注册中心发布的Web服务,以获取各资源站点的Web服务注册信息并通过程序将各站点中的资源信息同步更新至目录中心数据库中,然后数据绑定至公共服务平台供用户查询、下载和管理资源。

(2)系统Web Service的集成要点

XFire作为Web Service框架开发工具,通过提供简单的API支持Web Service各项标准协议,可方便快速地开发Web Service应用。[2][4]开发部署:新建Web工程,应用Myeclipse添加Xfire核心类库。为后续客户端的测试,加入commons-httpclient.jar包到工程WEB-INF/lib目录下。在src下建立test和Webservice目录,分别用于存放测试文件和Webservice的相关类。

Web Serviced的实现:首先,Web.xml的配置。首先在Web.xml中配置XFire的 servlet和servlet-mapping两个文件。然后加载Spring的相应配置文件,以达到将XFire集成到Spring中的目的。Spring的两个配置文件一个为applicationContext.xml,该文件用来定义本工程的bean,一个为xfire-servlet.xml,用来配置XFire的相关bean。需提前在WEB-INF目录下建立。其次,编写Web服务程序。对每一个具体的Web服务在src/Webservice目录下编写此服务接口类和对应的实现类。

(3)系统中心单点登录功能的实现

校园共享系统采用acegi整合CAS来实现认证与授权,CAS负责完成认证部分,acegi负责应用程序的授权。[3][5]安装CAS,拷贝 CAS target目录中的 cas.war到Tomcat Webapps目录下;配置Tomcat,使Tomcat支持SSL,增加CAS使用https和客户端进行通信的安全性;安装配置 CAS Server和 acegi,添加 acegi-security-1.0.1.jar和acegi-security-cas-1.0.l.jar到工程目录。打开WEB-INF中spring的配置文件deployerConfigContext.xml,配置用户认证,增加应用授权bean。

单点登录系统设置四个表:单点登录系统用户表(user_id,name,password);Web 应 用 系 统 表 (app_id,name,checkurl),name 是 Web 应 用系统 名称,checkurl是Web应用系统中用来验证用户登录的程序地址;单点登录系统用户到各个 Web应用系统的用户映射表(id,user_id,app_id,name,password); 临时会话表, 包含hash(临时会话的 hash编号)、id(对应单点登录系统用户到各个 Web应用系统的用户映射表中的 id字段)2个字段。

用户登录单点登录系统时,通过单点登录系统用户表中的字段来验证用户身份。CAS认证通过后,确立各个Web应用系统到该系统用户的映射关系。用户通过单点登录系统进入其他某个 Web应用系统时,该系统会为用户和Web应用系统生成一个临时会话编号(hash),并转到 Web应用系统中的登录检测页面,登录检测页面通过获取到的临时会话编号,来调用单点登录系统的XML_RPC API,获取用户名和密码实现Web应用系统的登录。

四、结束语

通过统一认证系统实现用户在应用系统处的自动登录,这种设计能够实现校内现存的多种业务应用系统统一身份认证,包括单点登录和授权管理的问题。降低各系统开发和管理难度,提高使用安全性,能够实现数字化校园共享系统资源共享、数据优化、便捷管理的建设目标。方案对已有的 Web应用系统和将来待开发的 Web应用系统进行集成部署和实施,有利于企事业单位内部应用系统的升级改造。

[1]Pashalidis A,Mitchell C.J.Single sign-on using trusted plat-forms[C].Information Security.Berlin:Springer,2003:54-68.

[2]郑东曦.基于Web服务的统一身份认证服务的设计实现[J].计算机工程与设计,2006(6).

[3]张涛,王秉坤.使用 CAS在 Tomcat中实现单点登录[DB/OL].http://www.ibm.com/developerworks/cn/opensource/os-cn-cas,2008-4-10.

[4]刘润峰.多域单点登录系统的设计与实现[D].北京邮电大学,2007.

[5]JoeWigglesworth,PaulaMcMillan,JavaProgramming:Advanced Topics[M].北京:清华大学出版社,2005.7.

(编辑:金冉)

TP315

B

1673-8454(2011)15-0081-03

猜你喜欢

单点身份数字化
家纺业亟待数字化赋能
历元间载波相位差分的GPS/BDS精密单点测速算法
高中数学“一对一”数字化学习实践探索
高中数学“一对一”数字化学习实践探索
跟踪导练(三)(5)
妈妈的N种身份
身份案(下)
数字电视地面传输用单频网与单点发射的效果比较
数字化制胜
企业信息门户单点登录方案设计