论文部分内容阅读
随着互联网技术的快速发展,网络上涌现出大量的应用服务,并且变得越来越复杂,许多应用集成在一起形成大型系统对外提供更加丰富的服务。但是系统中各服务的认证系统相互独立,导致用户的认证信息在各应用网站之间得不到共享。用户在访问互联网应用时,不得不记忆各种各样的用户名和密码,不但造成用户的不便,而且也存在极大的安全隐患。针对这种情况,本文对现有的单点登录技术进行了深入的分析和研究,对CAS(CentralAuthentication Service中央认证服务)协议进行了借鉴和改进,结合盛大已有的框架和协议,设计和实现了基于票据的统一登录认证服务器,并通过扩展盛大登录器产品,将盛大旗下的游戏产品接入统一登录系统。本文首先对课题的研究背景和意义、课题来源、研究内容和主要工作进行了介绍,其次对盛大在线公司对统一登录系统的需求进行研究分析,介绍了与本课题相关的理论基础和关键技术,包括单点登录原理、CAS协议及公司内部的Avenue协议和BPEL语言等。接着详细阐述了本系统的设计和实现,主要包括两方面的工作:一是Web端统一登录系统的设计与实现,主要是后台认证服务器的设计与实现,参考了CAS协议并加入了白名单域名验证等逻辑,以服务的形式对外提供接口,可用BPEL语言灵活配置流程来访问这些服务,采用双缓存结构来存储认证票据,提高程序的健壮性,最后在公司内部现有接口的基础上采用Java实现认证服务端逻辑。二是PC客户端统一登录系统的设计与实现,主要是对盛大登录器做扩展,加入登录态维护逻辑,以状态服务进程为中心节点的星型网络拓扑结构为架构,采用C/S结构实现,状态服务客户端提供的接口被登录器所调用,服务端提供的接口被登录助手所调用,二者通过基础通信库相互通信,协同完成登录态的维护工作。最后对系统的部署和应用的接入进行了说明,简单演示了运行效果,总结了本文的主要工作,并展望了进一步的研究工作。