版权信息
省级大型综合性科技类期刊
主管部门:自治区科技厅
主办单位:自治区科学技术信息研究院 
协办单位:自治区科学技术情报学会
编辑出版:科技期刊编译室
刊社地址:内蒙古呼和浩特新城西街149号本刊杂志社
邮政编码:100010
电      话:0471-2536371

E-mail  :

nmgkjzz@vip.163.com 

网站地址:www.nmgkjzz.com


往期杂志
当前位置: 首页>往期杂志>详细介绍

单点登录系统的研究与集成

时间:2016-09-05来源: 作者: 点击: 94次


张军

(北京  国家新闻出版广电总局五七二台   101109)

【摘要】单点登录是当今企业信息化系统用于集成化的解决方案,单点登录应用在系统中一大优势便是,系统用户只需要通过单点登录一次系统后便可访问所有被授权的应用模块,无需多次输入用户名和密码,并且系统用户只需要记住一套用户名和密码即可。在单点登录的发展产品中,CAS是一款针对Web应用的开源单点登录框架,使用起来十分便利且技术成熟稳定,被众多企业所应用。本文介绍了单点登录的技术框架,并分析了太极公司的单点登录的流程,并提出了集成单点登录方案。

 

1 引言

       企业信息化管理是每个成熟企业都在不断完善的过程,而在企业不断发展的过程中,根据各种业务要求的不同,业务系统的数量在不断增加,并且每个业务系统因为需求的不同导致系统设计和开发技术都各有不同,因此各个业务系统都拥有独立的系统帐号和密码信息,这样就导致用户需要独立记住每个系统的登录帐号和密码,随着业务系统数量的增加,用户很容易忘记或记错业务的帐号和密码,从而影响工作进度和效率。为此,需引入一套统一的、科学的、准确的系统帐号信息和认证机制,使得每个用户只需要记住一个系统帐号和密码,就可以实现登录一个业务系统后便可在多个应用透明跳转。同样也是为了降低管理难度,使用同一层面上的身份认证方法来解决企业应用的集成化,也就是单点登录。

       随着无线电台管理局安全传输发射管理平台、自动化控制平台不断建设,越来越多的信息化系统引入到实际工作中发挥着巨大的作用,为了当前和未来的信息化系统建设,十分有必要引入一套单点登录系统来完成各应用系统的整合工作。

      

2 单点登录的介绍

       单点登录,简单来说就是在多个应用系统的大数据网络环境之中,用户只需在任一个应用平台登录后,同时也可以获得其他应用系统的信任,也就是说用户的一次登录可以在其它系统无需再次输入用户名和密码就可以登录工作。现无线局有越来越多的信息化应用系统平台,引入单点登录最大的作用就是可以解决如何产生和存储用户信任的问题,同时其它系统可以获得用户的信任信息,从而达到免登录的实际目的要求。

       CAS是耶鲁大学发起的针对单点登录的解决方案,且是开源的。CAS的目的是解决在Web层面上的可提供一套科学快捷的单点登录技术框架。从结构上看,CAS包含两个部分:CAS ServerCAS ClientCAS Server服务端是会整个单点登录的技术核心,它负责用户的认证工作,CAS Client客户端主要负责响应用户在业务平台的客户浏览器端上产生的资源访问请求,CAS Client客户端需把请求信息重定向到CAS Server端进行验证工作。图1CAS的技术框架。


1 CAS技术框架

       CAS Client实际部署时与应用平台相关联在一起,利用过滤器的特性来把客户端作为一种资源来保护。当受保护的资源发起的任意Web请求时,CAS Client便会起到拦截监管作用,它会对HTTP包进行解析来检查其中是否存在Service Ticket,如果没有,CAS Client则认为这个资源请求属于未授权的请求,此时会重定向至CAS Server设定好的登录入口地址,并把资源的地址作为参数一并传过去,这个参数也作为认证成功后的跳转地址。当用户在登录地址的页面上输入正确的用户名和密码后,CAS Server会为用户分配一个不可重复且安全Service Ticket,这个Service Ticket也作为单点系统中的一种身份验证。当用户登录成功后,会被重定向到之前提到的作为参数的资源地址上。最后CAS Server还会对Service Ticket再次验证下以确保其的安全性。

 

3 太极单点登录系统的基本原理

3.1 TJSSO系统

       太极单点登录现已应用在无线局各应用平台上。太极单点登录的建立,是为了实现用户的统一登录、退出,并且也为其他应用与单点登录的认证服务器提高了集成接口。同样也是为了用户资料的科学化管理,其使用了LDAP服务的模式,也就是Windows ActiveDirectories,它为企业基本架构的根本,所有的资源都可以向AD来进行整合,Windows ActiveDirectories具备统一的身份验证和安全管理等功能。太极单点登录系统是结合LDAP服务,并且可方便集成到无线局各应用系统中。

 

3.2同步接口数据表

       太极单点登录体系中与其他应用系统平台集成的核心是同步数据库,在同步数据库中,会为各应用系统平台建立对应的中间数据表,并为各应用系统平台创建访问的用户和密码,其中,局平台同步数据库采用的是oracle,台平台同步数据库为sqlserver

       通过中间数据表的方式,应用系统平台可按照规范编写同步程序来获取所需要的用户信息,并且同步更新到自己系统的数据库中。

       在中间数据表中,有几个字段非常重要:

       ADLINK_ID:WindowsAD对象的AD值,其为不可重复的字符串;      ADLINK_STATUS_TYPE:该条记录的类别,如果为1代表新增,如果为2代表更新,如果为3代表删除;

       ADLINK_USER_ID:单点登录系统的的登录用户名;

       ADLINK_USER_NAME:用户的实际姓名;

       ADLINK_ORGAN_TYPE :如果为1此记录为部门信息,如果为8此记录为人员信息;     ADLINK_ORGAN_NAME:部门的显示名称;

       ADLINK_ORGAN_CODE:部门机构编码或人员身份编码;       ADLINK_USER_DEPARTMENT_ID:人员所属部门的ADLINK_ID      ADLINK_STRU_DEPARTMENT_ID:部门所属上一级部门的ADLINK_ID

 

3单点登录系统的集成

       为了实现所有应用系统平台用户的统一化管理,并满足单点登录系统的要求,各应用系统应根据实际需求来同步AD系统中的数据信息,从而达到数据准确一致的目的。并且太极单点登录系统会自动每隔一个秒级时间向中间数据表发送同步AD数据。在各应用系统平台上,同样也要求应用系统平台每隔一段时间来定时查询所属的中间数据表,然后自身的同步程序来扫描所需要的数据并更新到自己的数据中,最后再将中间数据表中无用的数据进行删除,以减轻下次扫描时的数据量。

       在应用系统平台第一次集成单点登录时,各系统的同步程序应该将全部用户信息或部门信息存入到自身数据库中来进行初始化操作。在扫描各记录时,可根据ADLINK_ORGAN_TYPE字段来判断记录的类型是部门还是人员,再根据ADLINK_STATUS_TYPE字段判断这条记录的状态类型,是新增还是删除的。最后同步程序在与中间数据表同步后把全部中间表的信息删除。

       现以J2EE平台与单点登录系统集成为例,简单介绍一下集成的过程。应用系统平台需支持第三方过滤器,并且符合servlet2.3版本的规范,还需支持向服务器的Java虚拟机环境中添加信任证书。在前提条件符合后,首先要把单点登录系统提供的cas-client-core.jar包导入添加到项目之中。然后按照单点登录规范修改web.xml文件添加对应的filter配置信息。然后在应用系统平台的服务器中导入从单点登录导出的安全证书,利用的是JVM中的keytool命令来实现,导入过程实例如图2所示。在单点登录系统登录成功后,可通过request对象方法获取AttributePrincipal信息,并从中得到用户在AD表中的人员信息。最后在系统退出时,需要通过重定向到https://portal.abrs.gov.cn:8443/cas/logout来实现单点登录的清除用户认证信息。

2 导入证书

 

4 结束语

       通过在各应用系统中引用集成单点登录系统,使得工作人员的效率大大提升,简化了应用系统操作,而且增加了系统的安全性,凭借着单点登录强大稳定安全的身份认证机制可增加信息安全性,并且单点登录系统也降低了管理成本,也为现有的和后续的应用系统提供了统一身份验证框架,可满足不同发展阶段的使用需求。

 

本刊创刊于1982年,是由自治区科技厅主管、自治区科技信息研究院主办,由自治区科技情报学会协办、国内外公开发行的省级综合性科技刊物,是反映内蒙古自治区科技与经济发展的窗口。杂志入选《中国期刊全文数据(CJFD)》全文收录期刊和《中国学术期刊综合评价数据(CAJCED)统计刊源期刊,《中国核心期刊(遴选)数据库》收录。本刊是公开发行的综合性科技期刊,为月刊,大16开本。本刊坚持以科技创新为目标,融科技、经济、信息、产业、市场为一体,是促进科技成果转化、推动科技进步、加强技术创新,促进经济发展的专业性期刊。