基于CAS的高校智慧校园统一身份认证平台的研究与实现

2020-07-22 09:54汤其妹
电脑知识与技术 2020年11期
关键词:智慧校园

汤其妹

摘要:CAS(Central Authentication Service)可以为Web应用系统提供一种可靠的单点登录方法,应用该方法实现了一个统一身份认证系统,使用户在访问多个相互信任的应用系统时,只需要进行一次统一身份验证过程,而不必重复登录验证,大大简化了用户访问网络资源的过程。特别适用于高校这种业务系统众多且分散在各个部门的情况。该文从CAS原理、认证流程、实现方式进行了阐述,在CAS部署方面就Server端和Client端分别给出具体的实现方法与详细步骤。其研究结果对于当前高校信息化建设和发展具有一定的实践意义。

关键词:统一身份认证;CAS;智慧校园;单点登录

中图分类号:G642 文献标识码:A

1概述

近年来随着网络技术的飞速发展,特别是Web应用系统的流行,高校很多二级部门都针对本部门的业务开发了多个业务应用系统,但大多数仍采用传统的身份认证方式,即每个应用系统都有各自独立的身份认证,这种开发模式不仅造成重复开发,还严重影响到应用系统的性能及用户使用的方便性。为了解决这些问题,建立一套统一身份认证系统迫在眉睫。使用统一身份认证系统,用户只需要输入一次用户名和密码信息,验证成功后再访问系统中的其他资源时无须重复登录。本文基于CAS(Central Authentication SeIvice)实现了统一身份认证系统,为多个相互信任的应用系统提供认证服务的接口,提高了系统的方便性和可操作性,并确保用户数据信息的隐私和安全。

CAS框架通过Java开发实现,为Web身份验证提供了解决方案,另外CAS为开源项目,可以方便地对源代码进行修改从而适应各高校的个性化需求。

2单点登录及CAS框架介绍

单点登录和CAS框架是实现统一身份认证平台的关键技术。本小节重点介绍单点登录、CAS框架的原理及认证流程,并阐述相比较早期登录技术的优势。

2.1单点登录

随着教育信息化的发展,高校在长期的基础信息建设过程中已经建成了大量的业务系统,分别是:教务管理系统、电子政务OA系统、财务管理系统、一卡通系统、图书管理系统、网络认证计费系统、研究生管理系统等。这些系统分别分散于各个建设单位,长期以来积累的大量的业务数据,方便了各个部门办公,提升了一定的管理效率。同时,因为这些系统在建设之初,缺乏统一的规划管理,各个系统的数据存在相互不通的现象,给现在的学校教学、管理工作带来了一定的困扰。师生用户进入不同系统需要输入不同的账号和密码,用户体验感大大降低,使用率不高,业务系统推广困难。

单点登录(Single Sign On,SSO),如果一个多业务系统应用群中部署了单点登录,则只要一次用户身份验证成功,就可以获取应用群中其他应用系统的访问控制权限,不需要重复登录。

单点登录机制有用户、web应用和认证中心三个角色,其中认证中心只能有一个,用户和web应用可以有多个。与传统的单个系统登錄机制相比较,单点登录需要一个统一的身份认证中心作为唯一登录入口来接收用户提交的账号、密码信息,其他web应用间接地从认证中心获取授权。这种授权通过令牌机制来实现,当用户的登录信息认证通过时,认证中心会创建令牌并将其传递到各个子系统。从而用户可以被授权进入各个子系统。

2.2CAS原理及认证流程

CAS是耶鲁大学发起的一个开源项目,能很好地实现单点登录和统一身份认证,其简单性、时效性、安全性优势,从而被广泛应用。用户通过CAS认证,只需要一次登录就可以在信任的应用系统间互相访问。

CAS分为CAS服务器和CAS客户端两部分。

1)CAS服务器

服务器端是独立部署的web服务器,主要负责认证用户的身份信息,是单点登录系统中唯一的认证人口。用户名、密码等安全信息在CAS认证服务器中称为用户凭证。当用户身份认证完成后,CAS服务器还负责认证访问各个应用系统所需要的各种票据。

2)CAS客户端

CAS客户端通常就是Web应用服务器,CAS客户端以库文件形式嵌入到每个应用系统中来实现和服务器端的交互认证。当用户访问时,CAS客户端不直接进行身份认证,而是将请求重定向到CAS服务器端进行统一身份认证。目前,CAS客户端支持JSP、PHP、ASP.NET等多种客户端。

当用户通过浏览器访问CAS客户端时,客户端会检查http或https协议所携带的会话参数或是服务器会话中是否携带凭证ST(Service Ticket),如果都没有,CAS客户端就会重定向用户的请求到CAS服务器端并传递回调地址,CAS服务器端生成TGT(Ticket Granting Ticket)并放入缓存,生成TGC(Ticket Granting Cookie)并写入客户端浏览器,生成TGT签发一个ST,根据传递的回调地址和ST,用户再重新访问CAS客户端,CAS客户端根据ST和CAS服务器对用户身份进行认证。具体认证流程如图1所示。

3基于CAS统一身份认证平台的实现

基于Yale-CAS的单点登录协议,并针对原有系统缺点进行了改进,使得认证和授权分离,并且减轻了认证服务器的负担,减少了网络传输,方便用户快速访问资源。CAS负责签发证书、认证证书、并对用户证书进行签名,以确保证书持有者的身份权限和公钥的拥有权。

3.1JSP应用接入统一身份认证

Step1.拷贝统一身份认证客户端所需jar包到应用中;

Step2.配置web.xml文件;

Step3.在应用系统程序中获取cas登录后的用户唯一标识信息及其他信息。

3.2ASP NET应用接入统一身份认证

Step1.拷贝Net CasClient客户端到应用中;

Step2.修改web.config文件;

Step3.获取CAS登录后的用户唯一标识信息及其他信息;

Step4.退出CAS登录。

3.3PHP应用接入统一身份认证平台

Step1.整合CAS PHP客户端代码到项目中;

Step2.获取CAS登录后返回的唯一标识信息及其他信息;

Step3.配置config.php中CAS配置参数信息;

Step4.接入CAS认证同时获取登录后的信息。

以安徽医科大学为例,已通过单点登录接人13个业务系统,分别是教务管理系统、教务排课系统、财务管理系统、学工系统、研究生管理系统、电子政务OA系统、资产管理系统、一卡通系统、图书管理系统、网络认证计费系统、站群系统、邮件系统、网络教学平台。如图3、图4所示。

4部署与测试

CAS部署分别对服务器端和客户端进行部署,部署结构图见图5。

4.1server端部署

服务器端运行环境:

操作系统名称:Cetos

猜你喜欢
智慧校园
校园App的设计与营销