(教育技术学专业论文)基于jasig+cas的统一认证平台研究及其系统设计和实现.pdf_第1页
(教育技术学专业论文)基于jasig+cas的统一认证平台研究及其系统设计和实现.pdf_第2页
(教育技术学专业论文)基于jasig+cas的统一认证平台研究及其系统设计和实现.pdf_第3页
(教育技术学专业论文)基于jasig+cas的统一认证平台研究及其系统设计和实现.pdf_第4页
(教育技术学专业论文)基于jasig+cas的统一认证平台研究及其系统设计和实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(教育技术学专业论文)基于jasig+cas的统一认证平台研究及其系统设计和实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着互联网络的发展,越来越多的w e b 应用程序被用于支持各种机构的日常 工作。在一些教育系统、政府和企事业等组织,由于不断地引进各类系统,不同 系统又分别具有独立的用户管理和认证子系统,因而管理不同系统用户的工作随 着系统和用户数量的增长越来越显得繁重。对于系统终端用户而言,同一机构的 不同业务系统需要重复的注册和认证,不仅使用上不方便并且容易造成混乱。为 上述大型机构提供一个可靠的统一用户身份认证机制、使其能够进行统一的用户 信息( 登录名、用户密码以及各系统公用的用户属性信息) 管理是本文研究的主 要问题。 本文首先调研和分析了主流的统一认证平台单点登录解决方案的技术基础, 并对各方案的优点与缺点进行了分析。其次,从统一认证平台的功能需求、性能 需求、开发模式、架构方案、技术开发框架和系统配置环境等软件工程角度,对 统一认证平台做了分析与设计,依据系统需求提出了系统的数据库设计与系统设 计框架结构。再次,论述了基于j a - s i gc a s 的统一认证平台的认证应用思想与 技术方法,剖析了基于j a - s i gc a s 的统一认证平台各模块的设计与实现。接着, 从高性能需求的角度探讨了统一认证平台的可延展部署架构。最后,作者对本文 的研究结论进行概括,并指出研究中存在的问题,给后续研究者提供参考。 作者期望基于j a - s i gc a s 的统一认证平台能够为大型提供支持多平台的优 化的应用系统整合方案,提高用户的系统管理效率。 关键词:j a - s i gc a s 单点登录统一认证 a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e t ,m o r ea n dm o r ew e ba p p l i c a t i o n sa r eu s e d a st h ei n f r a s t r u c t u r eo fm a n yo r g a n i z a t i o n st os u p p o r tt h e i re v e r y d a yw o r k h o w e v e r , b e c a u s en e ws y s t e m sw h i c hh a v et h e i ro w nu s e rm a n a g e m e n ta n da u t h e n t i c a t i o n s u b s y s t e m sa r ec o n s t a n t l y i n t r o d u c e di n t o l a r g eo r g a n i z a t i o n ss u c ha ss c h o o l s , g o v e r n m e n t sa n db u s i n e s sf i r m s ,m a n a g i n gu s e r sf r o md i f f e r e n ts y s t e m si no n e o r g a n i z a t i o n b e c o m e sm o r ea n dm o r ed i f f i c u l t b e s i d e s ,w i t h o u tac e n t r a l a u t h e n t i c a t i o ns o l u t i o nt h ee n d - u s e r so fs u c hs y s t e m sw i l lh a v et or e g i s t e ra n dl o g i n m u l t i p l et i m e si ft h e yw a n tt ou s ed i f f e r e n ts e r v i c e sp r o v i d e db yt h es a m eo r g a n i z a t i o n , w h i c hi si n c o n v e n i e n ta n dc o n f u s i n g t h i st h e s i sa t t e m p tt op r o v i d ear e l i a b l ec e n t r a l u s e ra u t h e n t i c a t i o nm e c h a n i s mf o rs u c h l a r g eo r g a n i z a t i o n t o m a n a g e u s e r i n f o r m a t i o n ,i n c l u d i n gu s e m a m e s ,p a s s w o r d sa n do t h e ra t t r i b u t e ss h a r e da m o n g a p p l i c a t i o n s ,i na o n ep l a c e t h et h e s i ss t a r t sw i t ht h er e s e a r c ho fp o p u l a rs i n g l es i g n - o ns o l u t i o n sa n dt h e c o m p a r i s o n so fd i f f e r e n ts o l u t i o n s a f t e rt h a t ,t h ed a t a b a s ed e s i g na n do v e r a l ls y s t e m a r c h i t e c t u r eo ft h ec e n t r a la u t h e n t i c a t i o no fp l a t f o r mi sp r o p o s e db a s e du p o nt h e a n a l y s i so fs y s t e mr e q u i r e m e n t s a f t e r w a r d s ,t h ec a sp r o t o c o la n dd e t a i l e dd e s i g no f c e n t r a la u t h e n t i c a t i o np l a t f o r mb a s e do nj a s i gc a si se x p l a i n e d f o l l o w i n gt h a t , t h ea p p l i c a t i o ni n t e g r a t i o np l a ni si n t r o d u c e dw i t ht w oe x a m p l e so fr e a ls y s t e m s a l s o f o ro r g a n i z a t i o n st h a th a v ec r i t i c a lr e q u i r e m e n t sf o r t h ep e r f o r m a n c eo ft h e i rs y s t e m s , h i g hp e r f o r m a n c ea r c h i t e c t u r eo ft h ec e n t r a la u t h e n t i c a t i o np l a t f o r mi s d i s c u s s e d f i n a l l y , t h ei n s u f f i c i e n c i e so ft h es y s t e ma r es u m m a r i z e da n dt h ea s p e c t sf o rt h e i m p r o v e m e n to ft h es y s t e ma r ep r o p o s e df o rf u r t h e rr e s e a r c h t h ec e n t r a la u t h e n t i c a t i o np l a t f o r mb a s e do nj a s i gc a si se x p e c t e dt ob ea c o m p l e t ea n do p t i m i z e dc e n t r a la u t h e n t i c a t i o na n du s e rm a n a g e m e n ts y s t e mt h a tc a n b ei n t e g r a t e de a s i l yw i t ha p p l i c a t i o n sr u n n i n go nm u l t i p l eo p e r a t i n gs y s t e m s k e y w o r d s :j a s i gc a s ,s s o ,c e n t r a la u t h e n t i c a t i o n i i 中国科学技术大学学位论文原创性和授权使用声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作 所取得的成果。除已特另t i d n 以标注和致谢的地方外,论文中不包含任 何他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究 所做的贡献均己在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权,即:学 校有权按有关规定向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 保密的学位论文在解密后也遵守此规定。 作者签名:墨筮翻 帅年月歹日 第1 章引言 1 1 问题的提出 第1 章引言 由于互联网的发展和普及,许多大型机构如教育、政府部分、企事业单位等 越来越多地采用了基于w e b 的应用系统以支撑机构内部的业务流程或向终端用 户提供各类信息服务,例如,在一个教育机构中可能存在各种学生学习系统、课 程管理系统、学生学籍信息管理系统、内容管理系统、邮件系统等等,这些系统 可能在不同时期开发部署,运行于不同的平台上,大多具有独立的用户管理子系 统和管理界面,如果缺乏一个统一的认证机制,系统管理员管理多系统用户的工 作将随着新系统的引入变得越来越繁重。这种情况下对于最终用户而言也存在同 样的问题,使用同一机构的不同服务意味着要进行重复的用户注册和身份认证, 使用上不仅不方便而且容易造成混乱。 单点登录( s i n g l es i g n - o n ,简称s s o ) 就是为解决多系统统一认证问题而 产生的技术。单点登录是存在于多个相关但互相独立的软件系统的一种访问控制 方式,用户访问支持单点登录的多个系统只需在访问第一个系统的时候登录一 次,访问其他系统时则不会被要求再进行身份认证。单点注销( s i n g l es i g n - o f f ) 则是一个相反的过程,用户从一个系统注销之后对于其他系统的访问权限也同时 被收回。 在大型机构中支持单点登录和单点注销具有如下益处: 第一,方便终端用户。避免多次输入用户名密码组合带来的所谓的“密码 疲劳”现象,同时节省用户重复进行身份认证的时间。 第二,降低客服成本。用户只需记住一个密码,向客服寻求帮助找回密码的 需求大大降低。 第三,统一用户管理界面,降低系统管理成本。 第四,在系统中支持单点注销可以增强用户安全性,避免由于用户忘记从某 个系统注销而引起的安全问题。 第五,由于使用统一用户信息存储后端和身份认证入口,便于对用户行为进 行数据统计。 第l 章引言 统一认证服务( c e n t r a la u t h e n t i c a t i o ns e r v i c e ,简称c a s l ) 是其中一种 用于w e b 的s s o 协议,基于此协议的服务器软件主要有两种实现:使用j a v a 实 现的j a s i gc a s 和使用r u b y 实现的r u b yc a s s e r v e r 2 。 目前,针对基于c a s 协议的单点登录系统的研究并不少见,但大多侧重于协 议本身和认证接口的分析,缺乏解决涉及应用整合各方面问题的完整的方案和实 现。本文作者在为国内某大型教育出版社研究解决多系统认证问题的过程中,期 望能基于c a s 实现包括应用系统管理以及用户管理系统在内的一个完整的统一 认证平台,研究和解决的问题如下: 问题一:提供支持多平台的优化的应用系统整合方案, 问题二:实现统一的用户管理后台。 问题三:实现面向系统用户的用户信息管理模块。 问题四:提供平台核心模块扩展定制的方案实例。 问题五:提供高性能平台部署方案以应对高负载高性能需求。 1 2 研究方法 本文主要采用了文献调研法、对比研究法、系统实践法等方法来进行可行性 分析与系统设计开发。 第一,文献调研法,对现有的统一认证的解决方案进行调研,了解其应用思 想与技术实现。 第二,对比研究法,对现有的统一认证的各种解决方案进行对比分析,了解 各种解决方案的优点与缺点。 第三,实践法,在为国内某大型教育出版社研究解决多系统认证问题的过程 中开发基于j a - s i gc a s 的统一认证平台。 1 3 研究内容 本文首先调研和分析了主流的统一认证平台单点登录解决方案的技术基础。 并对各方案的优点与缺点进行了分析。其次从统一认证平台的功能需求、性能需 求、开发模式、架构方案、技术开发框架、系统配置环境等软件工程角度对统一 认证平台做了软件分析与设计,依据系统需求提出了系统的数据库设计与系统设 1 由于缩写c a s 既可以表示c a s 协议,又可以表示j a - s i gc a s ( 即c a s 服务器软件) ,为了避免混淆, 在本文中我们约定:如果没有特别标明c a s 协议,c a s 缩写均表示j a - s i gc a s 。 2 h t t p :c o d e g o o g le c o r n p r u b y c a s s e r v e r 2 第1 章引言 计框架结构。再次论述了基于j r s i gc a s 的统一认证平台的认证应用思想与技 术方法,剖析了基于j a - s i gc a s 的统一认证平台的各个子模块的设计与实现。 接着,从性能优化设计的角度对基于j a - s i gc a s 的统一认证平台做了系能优化, 构造高可用性统一认证平台。最后作者对本文的研究结论进行概括,并指出研究 中存在的问题,给后续研究者提供参考。 1 4 研究意义 目前针对基于c a s 协议的单点登录系统的研究并不少见,但大多侧重于协议 本身和认证接口的分析,缺乏解决涉及应用整合各方面问题的完整的方案和实 现。本文提出的基于j a s i gc a s 的统一认证平台从统一用户认证管理以及应用 系统整合出发,目标在于提供一个完整的多网站统一认证解决方案。平台可为大 型机构多个w e b 应用系统提供统一的可靠用户认证和用户管理功能,为系统终端 用户提供使用上的便利,同时为应用系统开发人员提供跨平台、多语言支持以及 便于实施的整合方案。作者同时对c a s 模块进行性能上的优化,提高平台延展性 使其能够支持高并发请求。基于j a s i gc a s 的统一认证平台由于使用统一用户 信息存储后端和身份认证入口,便于对用户行为进行数据统计;由于在系统中支 持单点注销可以增强用户安全性,避免由于用户忘记从某个系统注销而引起的安 全问题;同时系统方便终端用户。避免多次输入用户名密码组合带来的所谓的 “密码疲劳 现象,同时节省用户重复进行身份认证的时间;由于系统具有统一 的用户管理界面,因此能降低系统的管理成本,因此对于基于j a s i gc a s 的统 一认证平台进行研究,具有很强的必要性与现实的应用意义。 1 5 论文的逻辑结构 本文总共分为引言、基于j r - - s i gc a s 的统一认证平台的技术基础、基于 j a s i gc a s 的统一认证平台的分析与设计、基于j a s i gc a s 的统一认证平台 的模块设计与实现、基于j r - - s i gc a s 的统一认证平台的性能优化和总结与展望 共六章节内容。各章的内容简述如下: 第1 章引言:陈述本文的研究背景、研究内容、研究方法、研究意义以及 论文的逻辑结构。 第2 章基于j a s i gc a s 的统一认证平台的技术基础:分析了基于c a s 协 议的工作原理,并对统一认证平台设计的相关技术进行了说明。 第1 章引言 第3 章基于j a - - s i gc a s 的统一认证平台的分析与设计:从统一认证平台 的功能需求、性能需求、开发模式、架构方案、技术开发框架、系统配置环境等 软件工程角度对统一认证平台做了软件分析与设计,依据系统需求提出了系统的 数据库设计与系统设计框架结构。 第4 章基于j a s i gc a s 的统一认证平台的模块设计与实现:论述了基 于j a s i gc a s 的统一认证平台的认证应用思想与技术方法,剖析了基于j a - s i g c a s 的统一认证平台的各个子模块的设计与实现。 第5 章提出了应用系统整合方案的总体思路,并以内容管理系统j o o m l a ! 以及通用论坛系统d i s c u z 的整合为例说明了应用系统整合的实际过程。 第6 章基于j a - s i gc a s 的统一认证平台的系能优化:从性能优化设计的 角度对基于j a s i gc a s 的统一认证平台做了系能优化,构造高可用性统一认证 平台。 第7 章总结与展望:对本文的研究结论进行概括,并指出研究中存在的问 题,给后续研究者提供参考。 4 第2 章统一认证平台的技术基础 第2 章统一认证平台的技术基础 本章首先介绍了j a s i gc a s 的功能特点以及c a s 协议,其次介绍了基于 c a s 协议的单点注销流程,最后对统一认证平台涉及到的其他技术概念做了简 要说明。 2 1j a - sigc a s 简介 统一认证服务( c e n t r a la u t h e n t i c a t i o ns e r v i c e ,c a s ) 是一个基于w e b 的单点登录协议。该协议的目的是允许用户可以只经过一次认证便可访问多个应 用程序,协议还允许w e b 应用程序无需通过用户的密码信息而进行用户身份认 证。c a s 这个缩写一般还用以指代实现c a s 协议的软件包,即j a - s i gc a s 。为了 避免混淆,在本文中我们约定:如果没有特别标明c a s 协议,c a s 缩写均表示 j a s i gc a s 。 j a s i gc a s 具有如下特点: 支持c a s l 、c a s 2 以及s a m l 协议,允许单点登录以及代理认证。 支持多种存储后端,如l d a p ( 包括a c t i v ed i r e c t o r y ) 、数据库、r a d i u s 。 支持无密码认证,如s p n e g o n t l m 、x 5 0 9 证书等。 基于标准技术构建的可扩展平台架构。使用j a v a 开发人员熟悉的工具 集,包括s p r i n g 框架、s p r i n gw e bf l o w 、m a v e n2 、j a s i gp e r s o n d i r e c t o r y 、j s p 等。 c a s 允许高可用性集群部署方式,可用以支持企业级应用。 提供跨平台、多语言的客户端代码库支持。c a s 支持包括p h p 、j a v a 、p e r l 、 r u b y 、n e t 在内的多种程序语言,同时提供对a p a c h e 、l l s 、p a m 等的 直接支持,并且有包括d r u p a l ,u p o r t a l 、b l u e s o c k e t 、m o o d l e 等在内 的多个开源项目提供对c a s 的直接集成支持。 由于c a s 是纯j a v a 的实现且不依赖于某个应用服务器,因此它具有很好 的跨平台运行能力,可以支持j a v a1 5 以上版本,运行于支持s e r v l e t 2 4 或者更高版本的任何容器中,如t o m c a t 、j e t t y 以及j b o s s 。 c a s 具有良好的社区和文档支持。 第2 章统一认证平台的技术基础 2 2c a s 认证过程简介 c a s 中心认证服务被设计成一个独立的w e b 应用程序,用户通过三个u r l 对 其进行访问:登录u r l ( l o g i nu r l ) 、验证u r l ( v a l i d a t i o nu r l ) 以及注销u r l ( l o g o u tu r l ,可选) 。c a s 认证过程如图1 所示,它包含两类认证过程:w e b 应用服务认证以及代理认证。 票据验证j - , 、 , 、,二,- - - 一,一一, 图1c a s 认证流程示意图( 翻译自c a s 架构文档) 2 2 1w e b 应用服务认证 用户在访问受保护w e b 应用服务所需要的认证,在此过程中c a s 使用如下两 种票据: ( 1 ) t g c ( t i c k e tg r a n t i n gc o o k i e ) :c a s 发放给用户的身份凭证,一般情 况以c o o k i e 形式发放,相当于用户与c a s 之间的会话i d ,c a s 通过检查t g c 确 定用户是否已经登录并通过身份验证。 ( 2 ) s t ( s e r v i c et i c k e t ) :服务票据,c a s 发送给相关应用服务的用户身 份凭证。为了防止“中间人 攻击的发生,s t 被设计为一次性票据,在一次验 证过程后立刻失效。 6 第2 章统一认证平台的技术基础 完整的w e b 应用服务认证在图l 中的流程表示为:卜 2 3 一 4 : 步骤1 ,用户浏览器向受保护w e b 应用服务发送初始化请求。 步骤2 ,应用将用户重定向至c a s 进行认证,并在u r l 中附加服务i d 。若 c a s 检测到t g c ,进行步骤3 ;若没有,提示用户输入用户名、密码登录,在用 户成功登录后发放t g c 并进入步骤3 。 步骤3 ,c a s 将用户定向回w e b 应用地址,并在u r l 中附带s t 。 步骤4 ,应用将s t 交给c a s 进行验证,得到正确的用户身份。 2 2 2 代理认证 用户可能需要访问一些浏览器不能直接访问的资源,典型的情况如非w e b 服务提供的资源,这种情况下需要借助一个w e b 应用服务作为用户身份代理对目 标服务进行访问,这就需要进行代理认证。除t g c 和s t 外,c a s 协议定义了代 理认证需要的如下票据: ( 1 ) p t ( p r o x yt i c k e t ) :代理票据。代理应用通过p t 向目标应用表明代理 身份,目标服务在拿到p t 之后需通过c a s 验证其有效性。 ( 2 ) p g t ( p r o x yg r a n t i n gt i c k e t ) :由c a s 发放给持有效s t 的代理应用的 票据。代理应用凭p g t 从c a s 获得p t 。此票据与目标服务、认证用户身份形成 唯一关联。p g t 是一次性票据。 ( 3 ) p g t i o u ( p r o x yg r a n t i n gt i c k e ti o u ) :可看作p g t 的索引。代理应用 必须能自行维护p g t i o u 和p g t 的对应关系表,当p g t 失效后,对应的p g t i o u 也同时失效,可以从对应关系表中删除。 代理认证在通过图1 中的步骤卜 2 一 3 一 4 一 4 a 一 5 完成。和w e b 服务认证相 比,代理认证多出了获取和验证p t 的步骤。在图l 步骤2 中,代理应用除发送 服务i d 外还必须传递回调地址参数( p g t u r l ) 。相应地,在步骤4 中,c a s 的返 回信息中增加了p g t i o u ,同时通过回调地址将对应p g t 发送给代理应用;之后, 为了向目标服务表明代理身份,代理应用必须通过p g t 向c a s 索要p t ,在拿到 p t 之后,进入步骤4 a 和5 a ,完成代理认证过程。 2 3 单点注销 c a s 从3 1 版本开始支持单点注销。在t g t 过期后,c a s 会向己注册的应 用服务以p o s t 方式发送如下注销请求: 7 第2 章统一认证平台的技术基础 应用服务在接收到注销请求时可以根据s e s s i o ni n d e n t i f i e r 找到需要 注销的用户会话d 并进行注销操作。通过支持单点注销,可以避免由于用户忘 记注销所有应用服务而引起的安全隐患,进一步增强系统安全性。 需要注意的是如果应用服务使用的客户端代码不支持注销协议,则注销不能 正常完成。 2 4 其他相关技术简介 2 4 1s p ri n gf r a m e w o r k s p r i n gf r a m e w o r k 是一个开源的应用程序框架,具有j a v a 和n e t ( s p r i n g n e t ) 两种版本。s p r i n gf r a m e w o r k 包含多个模块,提供i o c 3 容器、面向方面编成( a s p e c t o r i e n t e dp r o g r a m m i n g ) 、数据访问、事务管理、m v c 、远程管理等多种服务。j a s i g c a s 基于s p r i n gf r a m e w o r k 开发,s p r i n gf r a m e w o r k 强大的i o c 容器配置功能大 大增加了c a s 系统的可扩展性,其重要性对于需要对c a s 进行部署和定制的用 户或者开发人员而言尤为突出。s p r i n gf r a m e w o r k 主要模块如下图所示: 3i n v e r s i o no f c o n t r o l l ( 反转控制) :h t t p :e n w i k i p e d i a o r g w i k i i n v e r s i o no fc o n t r o l 8 第2 章统一认证平台的技术基础 w e b s p r i n gw e bm v c f r a m e w o r ki n t e g r a t i o n s t r u t s w e b w o r k t a p e s t r y j s f r l c nv i e ws u p p o r t j s p s v e l o c i t y f r e e m a r k e r p d f j a s o e rr e p o r t s e x c e i s p r i n gp o r t l e tm v c 2 4 2a p a c h em a v e n 图2s p r i n gf r a m e w o r k 概览4 m a v e n 5 是一个j a v a 项目管理以及自动构建工具,与其他构建工具如a p a c h e a n t 相比,m a v e n 提供了强大的依赖管理功能,可简化程序分发的工作。c a s 项 目使用m a v e n 进行项目的构建、发布以及相关报告文档,因此基于c a s 做定制开 发,了解和使用同样的构建平台可以节约大量的时间。 2 4 3p h p p h p 是一种受到广泛应用的通用脚本语言,可以嵌入到h t m l 被解释执行, 尤其适合做w e b 应用开发。因为p h p 是一种脚本语言,不需要进行编译,测试部 署十分方便,开发效率也较高,所以作者的统一认证平台除了认证服务器部分采 :h 却:s t a t i c s p r i n g s o u r c c o r e s p r i n g d o c k 2 0 x r e f e r e n c e i n t r o d u c t i o n h a u l 。h t t p :m a v e n a p c h e o r g 9 j a v a 之外,其余模块均采用p h p 语言、基于z e n df r a a l e w o lk 开发,并整台 ) c t r i n e l 作为数据访问层。 图3z e n df r r k 组件图。 6 z e n df r 哪c w o r k ( h t t p :e a l 】l e w c r kz e 口d m ) 是一十开源、面向对象的p h p 开源框架,提供了数1 ¥可供使用。 7 d o c t r i n e ( h t t p :d o c l r i n e - p r o j c c t o 叫) 是一个p h p 的o r m ( o b j e c t - r e l a t i o n a l m a p p i n g ) 框女 8h t 口d c d k i c o w 曲p k n d - f r e w o r k - m a p 1 0 第2 章统一认证平台的技术基础 2 4 4s o a p s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议) 是一种轻量的、 简单的、基于x m l 的协议,可以用来实现w e b 服务接口,在运行不同平台之 上的系统之间交换结构化信息。统一认证平台采用s o a p 协议向应用系统提供远 程调用接口。 2 4 5n gin x n g i n x 9 是一个高性能的h t t p 和反向代理服务器,由i g o rs y s o e v 为俄罗斯 访问量第二的r a m b l e r r u 站点开发,采用b s d 许可证。由于n g i n x 选择高效的 网络i 0 模型1 0 ,在高并发连接的情况下,n g i n x 是传统w 曲服务器a p a c h e 的 一个很好的替代方案,它能够支持高达5 0 0 0 0 并发连接的响应,且因其轻量级的 特点,占用硬件资源非常少,基于这些优点,n g i n x 的使用率在短时间内迅速地 增长,根据n e t c r a f t 的统计,截至2 0 1 0 年4 月,n g i n x 已在全球被用以运行超 过1 2 0 0 万个站点,占用率达到6 3 2 。 出于性能上的考虑,作者在统一认证平台的高性能部署方案中采用n g i n x 代替a p a c h e 作为w 曲服务器。实践表明,n g i n x 的性能表现大大优于a p a c h e 。 2 4 6p h p - f p m 传统方式下p h p 以a p a c h e 模块的方式运行,当a p a c h e 提供静态文件服务 时p h p 模块仍然会被加载,这带来了不必要的性能损失,若p h p 采用f a s t c g i 模式运行则不存在这个问题,但由于p h p 本身的f a s t c g i 实现并不完善,所以 作者在制定统一认证平台高性能部署方案时采用了其替代方案p h p f p m 。 p h p f p m l l ( f a s t c g ip r o c e s sm a n a g e r ) 即p h pf a s t c g i 进程管理器是一个 p h p 的f a s t c g i 实现,和p h p 内置的f a s t c g l 支持实现相比,p h p f p m 提供如 下高级特性: 夺高级进程管理功能,支持平稳重起。 夺允许p h p 程序以多个身份多种配置方式运行。 令s t d o u t 及s t d e r r 日志支持。 9 h t t p :w w w n g i n x o r g 1 0 即e p o l l ( l i n u x2 6 ) 、k q u e u e ( f r e e b s d ) 或者e v e n t p o r t ( s o l a r i s1 0 ) l l h t t p :w w w p h p f p m o r g l l 第2 章统一认证平台的技术基础 令支持在o p c o d e 缓存出错时紧急重起。 夺加速上传支持。 令缓慢日志支持。 呤通过f a s t c g i _ f i n i s h _ r e q u e s t 0 支持更快的响应速度。 服务器运行状态支持。 在作者的实际运行测试中,p h p f p m 能提供较高的稳定性和服务器性能。 2 4 7m e m c a c h e d m e m c a c h e d l 2 是由d a n g ai n t e r a c t i v e 开发的高性能分布式内存对象缓存系统, 用于在动态应用中减少数据库负载,提升访问速度。通过在内存里维护一个统一 的巨大的哈希表,m e m c a c h e d 能够用来存储各种格式的数据,包括图像、视频、 文件以及数据库检索的结果等。在网络方面,和n g i n x 一样,m e m c a c h e d 使用非 阻塞的网络i o ,通过l i b e v e n t 均衡任何数量的打开链接,对内部对象实现引用 计数( 因此,针对多样的客户端,对象可以处在多样的状态) ,使用自己的页块 分配器和哈希表,因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可 以保证为0 ( 1 ) 。 m e m c a c h e d 已经被广泛应用于动态w e b 项目,解决由于高数据库负载带来 的系统瓶颈。在统一认证平台的高性能部署方案中,作者使用m e m c a c h e d 作为 票据注册表存储后端,有效地提高了数据方案效率、减轻了数据库负担。 1 2 第3 章统一认证平台的需求分析与总体设计 第3 章统一认证平台的需求分析与总体设计 本章主要论述作者研究设计的统一认证平台的设计目标,在此基础上对平台 进行功能需求分析,并根据需求分析进行系统总体设计。 3 1 设计目标与需求分析 统一认证平台的设计目标是为大型机构提供一个从用户注册到系统集成的 完整的解决方案、并允许对统一平台核心模块进行扩展。基于这个目标,并结合 某大型教育出版社的实际项目案例,作者为平台提出了如下功能需求: 3 1 1 支持跨域名站点的单点登录 对于集成统一认证平台的多个不同域名如f o o c o r n ,b a r c o r n ,b a z t o m 等,允 许用户通过统一认证平台一次登录之后,在未注销的情况下访问任意一个站点不 需要再次输入用户名和密码登录:支持统一注销,即:用户在a 站点登录,然 后在b 站点注销,此时用户不能以己登录身份继续访问其他站点,而且在a 站 点的己登录身份也被注销。 3 1 2 用户存储后端 使用统一的关系型数据库作为用户数据存储后端,允许通过r e p l i c a t i o n ( 多 机上运行多个副本) 进行负载均衡。用户认证身份数据由账号标识、姓名、密码、 出身年份、重置密码问题、重置密码答案、是否己经通过邮箱确认、所在省份、 所在市等字段组成,其中所有的字段都是必须字段,不能缺少任何一个字段,描 述如表3 1 所示。用户应用认证身份数据由应用名称、应用口令字符串、应用对 应的u r l 、是否启用、应用的描述等字段组成,其中应用名称、应用口令字符 串、是否启用为必须字段,应用对应的u r l 、应用的描述为可选字段,描述如表 3 2 所示。用户数据管理的数据由用户名、密码字段组成,其中用户名与密码字 段均为必须字段,不能缺少,否则将不能对用户数据进行管理,描述如表3 3 所 示。 第3 章统一认证平台的需求分析与总体设计 表3 1s s o u s e r ( 用户认证身份数据) 字段 描述是否必须 e m a i lm a i l 地址,作为账号标识是 r e a l n a m e真实姓名是 p a s s w o r d口令摘要是 y e a r o f b i r t h 出生年份 是 e m a i l v e r i f l e d是否已通过邮箱确认是 p r o v i n c e所在省份 是 c i t y 所在市是 表3 2s s o a p p l i c a t i o n ( 应用认证身份数据) 字段描述是否必须 a p p l i c a t i o n n a m e 应用名称是 a p p l i c a t i o n k e y 应用口令字符串是 u r l应用对应的u r l 刁k 1 2 1 e n a b l e d 是否启用 是 d e s c r i p t i o n 应用的描述否 表3 3s s o a d m i n ( c a s 数据管理员) 字段描述是否必须 u s e r n a m e用户名是 p a s s w o r d口令摘要是 3 1 3 用户注册以及信息管理 允许最终用户通过统一的入口进行注册、信息编辑、密码取回等操作界面, 并为用户提供所有应用服务的统一导航。当用户未登录系统时,呈现给用户的界 面具有如下三个链接功能,即引导用户进行注册、为用户提供密码找回与邮件地 址确认功能。当用户登录系统时,将呈现给用户两个页面,一个页面为用户基本 信息页面,另外一个页面是表单。用户基本信息页面显示用户的邮件地址、真实 姓名、所在城市、用户最后登录时间等信息。表单页面允许用户修改自己的登录 密码、支付宝密码修改等功能。为了方便用户选择自己所需要的站点,为用户提 供整合统一认证平台的应用站点列表导航服务。 1 4 第3 章统一认证平台的需求分析与总体设计 3 1 5 统一用户管理系统 主要面向系统管理员,提供如下功能: 第一,用户注册信息管理,包括对用户信息的查询、添加、编辑、删除, 启用和禁用用户帐号等操作。管理员拥有对用户所有属性字段的编 辑权限。 第二,站点信息管理,用以管理应用系统信息列表,为各个应用系统分发 a p ik e y 等,并允许管理员控制应用系统对于统一认证平台提供的 w e b 服务接口的授权设置。 第三,统计功能。统计的内容包括:当前、当周、当月以及在某一给定时 间范围内的新注册用户数;当日、当周、当月以及在给定某一时间 范围内的用户登录次数按应用站点进行汇总统计。 第四,日志管理。管理员在使用管理后台时,系统自动记录管理员的所有 管理操作,并允许超级管理员查看相关日志。 第五,帐号管理。系统设置一个超级管理员,允许该帐号增加、修改或者 删除管理帐号信息。 3 1 4 应用系统集成方案 为应用系统提供一套完整的单点登录以及单点注销集成方案,同时提供基于 s o a p 的用户注册和信息更新接口。 3 2 系统总体设计 根据上述设计目标和需求,作者对平台进行了总体功能模块划分,确定了统 一认证平台的分层架构。 3 2 1 数据层 作者使用开放源码的m y s q l 作为数据存储后端,m y s q l 是一个成熟的关系型 数据库,具有较高的运行效率,同时支持r e p l i c a t i o n 以及集群部署,具备一定 的扩展能力。 为了防止外部应用直接读写用户数据库带来的安全隐患,作者将对数据层的 访问权限控制在统一认证平台以内,外部应用系统如果需要获取或者更新平台内 第3 章统一认证平台的需求分析与总体设计 部数据,可以通过三种方式中任意一种进行:( 1 ) c a s 协议;( 2 ) s o a p 接口; ( 3 ) 浏览器跳转,通过平台预定义模块进行相关操作。这三种方式均在认证平 台的控制范围,因此可以从根本上保证用户数据的安全性,防止由于外部应用系 统的错误操作带来的安全问题。 3 2 2 统一认证平台核心模块 统一认证平台包含如下几个核心模块: ( 1 ) j a s i gc a s :单点登录认证服务器。 ( 2 ) 用户注册模块:提供用户注册以及找回密码功能。 ( 3 ) 用户信息编辑模块:提供用户自身的信息管理功能。 ( 4 ) 应用系统接口模块:为应用系统提供必需的s o a p 接口。 ( 5 ) 统一用户管理系统:供系统管理员使用。 对平台核心模块的所有访问活动均通过h t t p s 进行,6 个模块均部署同一域 名下,共用一个s s l 证书,以确保认证信息在传输过程中的保密性。 上述模块中除了c a s 使用j a v a 开发之外,其余模块均使用p h p 语言进行开 发,搭建于z e n df r a m e w o r k 之上。 3 2 3w e b 应用系统 集成到统一认证平台的应用系统处于平台外层,与认证平台的交互操作主要 有如下几种情况: ( 1 ) 跳转到用户注册模块进行统一用户注册。 ( 2 ) 通过c a s 认证服务器进行用户登录操作,或者获取p t ,这些操作通过c a s 协议进行。 ( 3 ) 凭p t 以及a p ik e y 调用平台提供的s o a p 接口,进行相关的信息获取或 者更新操作。 ( 4 ) 当应用本身不包含用户信息管理模块时,若要进行用户信息更新,可直 接跳转至统一认证平台进行相关操作,完成操作后回到指定位置。 上述三层结构中各模块的调用关系可参见图2 。 第3 章统一认证平台的需求分析与总体设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论