APP下载

基于CAS的统一身份认证门户设计与实现
——以福建商业高等专科学校为例

2016-04-16游贵荣谢日敏

福建商学院学报 2016年3期

陈 杰,游贵荣,谢日敏

(福建商业高等专科学校信息网络中心,福建 福州 350012)



基于CAS的统一身份认证门户设计与实现
——以福建商业高等专科学校为例

陈杰,游贵荣,谢日敏

(福建商业高等专科学校信息网络中心,福建 福州 350012)

[摘 要]分析了CAS协议的工作原理,并从福建商业高等专科学校信息化建设中各应用系统的现状出发,采用CAS协议,设计并实现了统一身份认证门户,规范校内信息系统单点登陆标准。同时支持不同系统、不同账号映射跳转的私有协议,兼容早期开发的旧系统,降低了实施统一认证平台的条件和成本,并在统一身份认证门户中引入业务开通流程管理,有效规范了学校的IT服务管理流程。

[关键词]单点登录;CAS技术;高校信息系统;IT服务管理

信息化技术的发展使得越来越多的业务系统被各机构组织采用,用以支撑内部的业务顺利有效地开展。但是这些引入的系统很可能不是同一个公司开发,因此都有各自的用户信息数据库和认证方式。用户必须针对每个系统记忆一套用户名和密码,给其带来很大不便,同时也对系统的使用推广造成巨大的障碍[1]。

为解决此问题,业界引入Single Sign On(SSO),即单点登录技术,用户只要通过一次登录就能在信任的应用系统间互相访问。本文从福建商业高等专科学校信息化建设中各应用系统的现状出发,采用CAS2.0(Central Authentication Service)协议,设计并实现了校内统一身份认证门户:整合已有的教务、网络课程平台、财务工资、科研等系统于其中,提供统一的校内登录认证服务,规范校内信息系统单点登录标准,既便于师生访问,又提高了各应用系统的使用率。该设计方案是一种轻量开源解决方案,仅需修改少量的系统代码就能实现标准协议的单点登录,同时支持不同系统、不同账号映射跳转的私有协议,及兼容旧系统。无须一次性更换旧的系统用户账号,可降低统一认证平台的实施条件和成本,避免更换旧系统用户账号而造成的风险,适用于那些还未购买商业化统一认证平台、规模不大、且有一定开发能力的学校和企业。

1CAS协议介绍

CAS最早是耶鲁大学发起的一个开源单点登录项目[2-3],用户通过CAS协议,只要一次登陆就能在信任的应用系统间互相访问。CAS具备不同web程序语言的客户端,可以方便地植入已有的web系统中,同时CAS也是一个开放源码的、有充足文档和网络社区支持的标准协议。目前CAS已经成为一个apereo项目。

如图1所示,CAS协议的工作原理:CAS系统分为客户端和服务器端。服务器端是个独立部署的web服务器,主要用于用户身份认证;客户端以库文件形式嵌入到每个应用系统中来实现和服务器的交互认证,各应用系统经过较小的改动就能满足CAS协议,并接入单点登录平台。当用户浏览器访问CAS客户端时,会检查http协议或https协议所携带的会话参数或是服务器会话中是否携带ST(Service Ticket),如果都没有携带,CAS客户端就重定向用户请求到CAS服务端并传递回调地址,当用户在CAS服务端输入正确的用户名和密码通过认证后,CAS服务端生成TGT(Ticket Granting Ticket)放入缓存,生成TGC(Ticket Granting Cookie),写入客户端浏览器,TGT签发一个ST,根据传入的回调地址和ST,用户重新访问CAS客户端,CAS客户端根据ST与CAS 服务器进行身份认证。

2统一身份认证门户的具体实现方案

2.1现有应用系统情况分析

学校在用系统主要有教务、网络课程平台、财务工资、科研管理、OA和邮件等。因历史遗留问题,用于登录以上系统的用户账号(工号)并不统一。现阶段强行要求这些系统更换工号有很大困难,只能等待新系统上线时更换成统一工号。对于这种情况,可采用关联表映射跳转的方式解决。而部分系统已使用统一工号的,可使用CAS协议实现单点登录。

从系统的采购情况来看,大部分系统都是从厂家购买的非定制系统,学校并没有掌握这类系统的源代码,需要厂家协助修改,以支持单点登录;也有部分系统如财务工资、OA等是学校自主开发的,自行修改源代码即可。

2.2配置认证数据库

学校已经部署了轻量级目录服务协议(Lightweight Directory Access Protocol,LDAP),用于存放校内拨号认证上网和VPN登录的用户名和密码,因此CAS服务端也将LDAP设置为用户认证数据库[4],只要简单配置CAS的认证数据源就能实现支持LDAP。

2.3私有单点登录跳转协议

CAS协议需要LDAP用户名和系统的用户名一致才能通过验证。对于工号不统一的旧系统,可在过渡使用阶段设置关联表,并存放于LDAP数据库中[5],通过使用私有单点登录协议来实现映射登录到应用系统。私有单点登录协议实现方式可以在http请求中添加加密信息串,具体加密方法可参考各种第三方平台登录系统,如微信、微博的第三方登录等。而新上线的校内应用系统都要求使用校内统一的工号,并通过CAS协议与统一认证平台对接。

2.4关于各CAS客户端系统主从关系的分析

标准的CAS架构只有客户端和认证服务器端,各客户端都处于同一优先级,只要有一个客户端系统退出CAS认证,其他系统也同时要退出CAS认证,这样使用起来很不方便,也不是单点登录系统所要达到的效果;或者一个客户端退出CAS认证,但CAS认证服务器还保持登录,还需要到CAS认证服务器端再退出一次,很多用户会忘记登出CAS认证服务器端,从而产生安全问题。在实际使用中,单点登录的需要一个导航页,因此使用主从式客户端架构,主客户端为Portal(即统一身份认证门户),一方面作为各个从客户端系统的入口导航,实现单点登录和退出CAS,另一方面实现不一致工号系统的映射查询,并跳转登录。从客户端即为各具体业务系统,其退出时只退出自己系统,不退出CAS认证系统。在由主客户端跳转到从客户端时,从客户端需要从CAS认证服务器获取用户名,并在本系统中查询是否有该用户,验证通过则登录系统,这样就能最大程度保留原系统的功能。图2为学校的Portal架构,新系统使用CAS协议。工号不同的旧系统使用私有协议映射跳转,需要注意的是,虽然都是从Portal端跳转到CAS从客户端,但CAS从客户端还是直接和CAS认证服务器通信认证。

2.5CAS主从客户端单点退出的设计

CAS服务端设计了logout接口,用于清理CAS服务端中的认证票据和用户浏览器中cookie,这样在CAS服务端就能实现退出功能。但需要注意以下两点:在主客户端退出登录后,如果用户之前使用单点登录过从客户端,则在从客户端还存在与用户浏览器的session,因此用户需到从客户端再退出一次;在从客户端退出登录时,web程序除了要清除系统本身的session变量,还要清除所嵌入的CAS客户端软件保存的session变量,否则用户再输入单点入口网址又会登录。

3系统实施流程

3.1部署CAS认证服务器

在认证服务器上安装tomcat,部署cas-server程序。修改以下配置:

(1)配置认证数据源,使用LDAP作为认证数据库。

(2)使用http协议。https协议虽然能提高安全性,但需要申请ssl证书,每年需要缴纳年费,若使用自己生成的证书浏览器会有安全警告,提示证书不可信任,而校内单点登录系统主要针对学生和老师的内部系统,http协议即可满足要求。

(3)个性化CAS认证服务器登录页,添加验证码功能,防止暴力登录破解用户账号。

3.2建立CAS客户端

CAS主客户端(即Portal)要实现单点登录、退出CAS及工号不一致系统的映射查询,并跳转登录。因此应独立开发部署Portal系统,具备从LDAP数据库中读取各系统映射账号的功能,能实现私有单点登录协议的跳转。另外,Portal系统还必须嵌入CAS客户端代码和CAS服务端通讯,实现认证登录。图3为Portal单点登录效果截图。用户只需登录一次就可以跳转到校内各应用系统。

CAS从客户端,即各具体业务系统,目前CAS的官网上已经有支持php、java和.net的主流web框架的软件包,各应用系统较小的改动就能满足CAS协议,实现单点登录,具体修改方案可见apereo官方网站的示例。

4业务开通流程管理

对于高校信息中心来说,日常工作中经常需要对各业务系统的账号进行增删改、权限改变以及各系统的使用咨询,因此在Portal系统上集成电子化申请和咨询流程,可便于师生理顺各软件系统业务办理流程及使用[6]。目前拥有较多业务系统的大企业都部署了IT服务管理系统(IT Service Management,ITSM)[7-8],用以提高企业IT服务的质量和管理水平。对于企业来说,ITSM系统的主要功能是需求分析管理、故障申告处理、账号开通、权限管理及系统使用咨询等。可以通过选择合适的工具部署实现ITSM,这些工具不仅要求能够根据企业单位的IT管理特点自定义流程和表单等,而且还应与已有的系统无缝对接[9]。

高校日常较多的业务却是账号开通、权限管理和系统使用咨询,因此没有必要独立部署一个ITSM系统,但可以借鉴ITSM系统思想,在Portal系统上添加账号开通和权限管理的功能。具体的实现方法就是添加工作流模块,把IT服务的每个步骤分解到个人(包括每个系统的业务管理员、信息网络中心管理员等)。对于图书馆和教务管理等系统来说,管理员把所有学生和老师的账号导入到系统而不需要申请开通流程;而对于像OA系统,涉及权限管理;邮件系统,涉及个性化邮件账号;网络课程平台,涉及子权限管理(教学秘书开通和停止课程,不仅仅有管理员一个权限)。这些系统就需要开通申请流程。因此在Portal系统上整合高校各业务系统账号的申请流程是很有意义的,可以规范学校内部IT服务流程,变被动服务为主动服务,提高各个IT系统管理员的服务质量,有效利用各IT系统,提升老师和学生的服务感知。学校的Portal系统已经集成了ITSM的账号开通和权限管理的功能,目前暂时只提供给老师使用。在一个学期的试用中已经接收了近150份左右老师的申请和咨询,随着各业务系统更广泛的使用,IT服务管理模块的重要性会更加的凸显。

5结束语

目前统一认证门户方案已经在福建商业高等专科学校中成功实施,提供统一的校内登录认证服务,CAS协议的标准性使之易于维护和更新,而本方案的兼容性降低了实施统一认证平台的条件和成本。提出的Portal系统引入业务开通流程管理的功能也成功实施,Portal系统成为管理各IT系统的主要系统,有效规范了学校的IT服务管理流程。

参考文献:

[1]皮晓东.单点登录的研究与实现[J] .计算机应用与软件,2007,24(6):156 -158.

[2]Apereo Community.The central authentication service[EB/ OL].(2015-05-13)[2016-03-14].https://www.apereo.org/projects/cas.

[3]沈杰,朱程荣.基于Yale-CAS的单点登录的设计与实现[J].计算机技术与发展,2007,(12):144-150.

[4]李新华.基于LDAP的Web统一身份认证的研究与实现[J].科技资讯,2006,(25):75-76.

[5]张齐,钟观宝.基于用户映射的CAS单点登录系统设计与实现[J].信息通信技术,2009,(04):6-10.

[6]刘峰,王峥,曹华平,等.基于CAS的门户单点登录方案[J].计算机系统应用,2011,(06):77-81.

[7] 贾瑞,张瑞娟.以服务为中心的IT管理——ITSM[J].网络安全技术与应用,2014,(12):58-62.

[8]何秀全,罗圣,夏晴,等.基于ITIL的高校IT服务管理应用研究[J].现代教育技术,2011,(10):60-63.

[9]张亚军,张金隆,陈江涛.IT服务管理研究述评及未来展望[J].情报杂志,2013,(06):95-99.

(责任编辑:杨成平)

Design and Implementation of Unified Authentication Portal Based on CAS in Fujian Commercial College

CHEN Jie,YOU Gui-rong,XIE Ri-min

(Information Network Center,Fujian Commercial College,Fuzhou 350012,China)

Abstract:The article analyzes the principle of CAS protocol,considers the situation in Fujian Commercial College,and we have successfully developed unified authentication portal,standardized campus information system and SSO.It can also support different systems and accounts mapped jumping protocol compatibly,greatly reduce the costs of unified authentication platform.The business process management in portal effectively regulates IT service management process in college.Key words: single sign on;CAS;campus information system;IT service management

* 收稿日期:2016-04-15

基金项目:福建省青年教师科研项目、高校教育信息化专项 "基于校园社交网络平台的应用系统架构研究"(JA15730)。

作者简介:陈杰(1984-),男,福建福州人,助理工程师,硕士。研究方向:数据挖掘技术。

[中图分类号]TP393.071

[文献标识码]A

[文章编号]1008-4940(2016)03-0041-05