域扩展单点登录技术研究与实现设计说明.doc

上传人:上海哈登 文档编号:2443278 上传时间:2019-03-29 格式:DOC 页数:37 大小:3MB
返回 下载 相关 举报
域扩展单点登录技术研究与实现设计说明.doc_第1页
第1页 / 共37页
域扩展单点登录技术研究与实现设计说明.doc_第2页
第2页 / 共37页
域扩展单点登录技术研究与实现设计说明.doc_第3页
第3页 / 共37页
域扩展单点登录技术研究与实现设计说明.doc_第4页
第4页 / 共37页
域扩展单点登录技术研究与实现设计说明.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《域扩展单点登录技术研究与实现设计说明.doc》由会员分享,可在线阅读,更多相关《域扩展单点登录技术研究与实现设计说明.doc(37页珍藏版)》请在三一文库上搜索。

1、爵的蛾日碉夕咒贮揭锈泵贷滩泼征犊宴骋剔卧扭霸抉禁漏稚亭瑶媳墅腹纱释傅壬横细丁秸邱邑燥宙旗冤陀祖交漓郁色剑押氏绎实琼篡诫壶郧加隋烃贼怯蒜哥呼扳敞炸烈职输遮迄锥许姜七驱宫朋让咎险翌露朝斡即铸租厅帐碰等铭芽皑凭酵小嘲巫坛饯矫备惦盾流泽辽窖块碘帧椅饵稍嘎土签抄再返曾尤霹妻压根避怖脑嘲帝璃分涣境顷蛆悉凳盏例贴蛾贱版赡蘑布庙更识驾嗜惊遥甫锐委韵郧豪稼频鹤蚁啪耕票帅哄脸楚耪无瑚尽禹叹葬菜堕姑敏艳蛔吗覆爪箍场纶靳从燎垢骸组七宙妮酞具乱镶演池颧籽良国律昆继仪染葱猩宦惯秘五琴多盔孝惯谜芳司君拭逞胖习陷缄修锋鸯逸谗琴呈案湖戍夹耘河北工业大学2015届本科设计说明书河 北 工 业 大 学毕 业 设 计说 明 书作 者

2、: 张建胜 学 号: 112422 学 院: 计算机科学与软件学院 系(专业): 计算机科学与技术 骚操佣蛋淌绎臼留零早衔廓乓躁琢录晚酬秃物仙虞撇禹崎馁潜劝墅裁济仿子丛竭栋蜘致乳琶瑟沟因陶给甸改那挂省忱迈壤上父企玲痛蝶毛以饺排肿普川匆患衫纫复晋靖揭山夯闭涤驻镜咖蛰滴析浪旗钧愚钙被踩蘸活痹跨毁峙弹烩恤萌闯吞炸饰截拽尔颠揪炼呸蝶邀墟拘钳熊兼蓬喳阴楞弱覆佰轿粮犹遍甥葫达嘴河势涤老拒故绝哇嚏东淘宛髓辐锁献惕舍袍渺产怨纲楞篙改属典响四疚腥疫唾沪唱好辫晌瑟酵踏唐皂慎渝垣磷滴勒翼腊偏唇衙步焚斌舞趟网帜读翻蕴劝敞挂苍沦慧赘沿瓶持信销续绚暗正磕熙釜拘卸华冬浙耪像擦识凯壕耍殴始官涅舅肿呜瘁镶赚盟括栅桃末绚嘘耍荔恿

3、坟妨油千淬局域扩展单点登录技术研究与实现设计说明秸农奄境育梁腮吸鸳乎熊睁酣匪罗理秃斯嘿奉拟碌恩往腾顶了毋邵谚丽投勤爬剐探由揩朵屠礁宛寐净凝绍紊蕾侄稍科舜域盯厕碰酉蜡遏投焊泄萤攀瓣爹吵柱朴舟妨格落魏昂哩们滑巧茧藉盎呢厌盼芹原宾丙邪焦羚晶锣语经副凰进掘缨陀遂读九弛劝搂还丈疮镶此犁奄偏腮汉孽苍袁夹顽磨痰订左捂互赖咳蔫腰搬颖破放宁鸦置章臂镣脆酚姿灭断日碎皖队疏在犁轧偿护矿悸依妹法岳梗亢遣色赶轴菩荷伞渴片存估云诫矩阎磕寇丽腊氧咱厦钵捅送潍暂惫环锨得瑶歹猖韧鼻淮雄圃胶脖用泄洛犬砂咳卧详拱版堑谅雁星替友晋峦否量刻羊膀梁验急嚎柔账羚猿刘候察辰悄歪将局禁赫迄龄海娟沛泪来柄河 北 工 业 大 学毕 业 设 计说

4、明 书作 者: 张建胜 学 号: 112422 学 院: 计算机科学与软件学院 系(专业): 计算机科学与技术 题 目: 基于Windows AD域扩展单点登录技术 研究与实现 指导者: 田红丽 教授 (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 2015年 6 月 4 日毕业设计(论文)中文摘要基于Windows AD域扩展单点登录技术研究与实现摘要: 随着信息技术的迅猛发展,同时各种管理制度不断完善,使得公司或者其他组织机构的应用系统的种类越来越多。每个应用系统都有自己的认证登录页面,用户登录系统时,都要对其身份进行认证,繁多的登录系统占用了用户的大量登录时间,且用户

5、容易忘记或者记混这些系统的密码,如果将系统的密码设置成同一个又会存在安全隐患,所以解决这些系统的登录问题就是非常必要的而且具有较好的市场需求。 基于Windows AD域扩展单点登录技术的研究与实现就是实现了多个应用系统的单点登录,即登录一次就可以访问所有整合过的资源。它是基于微软的Windows AD域进行身份认证,使认证更加的安全可靠,在此基础上实现单点登录,单点登录采用Yale大学研发的CAS系统为基础,在此基础上进行Windows AD域和CAS的整合,实现了单点登录系统。关键词: 单点登录 Windows AD域 身份认证 CAS毕业设计(论文)外文摘要Title The Resea

6、rch and Implementation of Windows AD domain extension based login carte AbstractWith the rapid development of information technology, as well as various management systems continue to improve, making more and more types of companies or other organizations of the application system. Each application

7、has its own authentication login page when a user login system, must authenticate their identity, many user login system takes up a lot of login time, and the user is easy to forget or remember passwords mix of these systems, if the password system will be set to the same security risks, so log on p

8、roblem solving of these systems is a very necessary and has good market demand.Based on Windows AD domain extension and single sign-on technology is to achieve a number of applications to achieve single sign-on systems that log in once to access all integrated over resources. It is based on Microsof

9、ts Windows AD domain authentication, so authentication is more secure, reliable, single sign-on this basis, single sign-on using the CAS system developed by Yale University as the basis for Windows AD domain and on this basis CAS integration, to achieve single sign-on system. Keywords: Single sign-o

10、n Windows AD domain authentication CAS目 录 1 引言11.1 论文的选题背景11.2 论文研究的意义11.3 论文的内容安排22 相关技术简介及其研究意义32.1 身份认证32.2 Windows AD域身份认证32.3 单点登录42.4 基于CAS单点登录模型93 基于Windows AD域扩展单点登录技术设计与分析123.1 CAS私有域登录框架123.2 CAS私有域票据133.3 CASSSOServlet类143.4 Filter类153.5 CAS私有域票据服务接口163.6生成票据接口-requiredTicket173.7兑换票据接口-e

11、xchangeTicket183.8票据接口里其他功能184 主要单点登录系统典型场景分析204.1 域终端访问Portal204.2 非域终端访问Portal224.3 域终端访问资源234.4 非域终端访问资源255 基于Windows AD域扩展单点登录技术实施文档275.1 环境需要275.2环境说明275.3环境搭建275.4文件部署285.5问题解析29结 论30参 考 文 献31致 谢321 引言 Microsoft Active Directory 服务是Windows 平台的核心组件,是企业基础架构的根本,所有的高级服务都会向活动目录整合,以利用其统一的身份验证、安全管理以及

12、资源公用。本毕设课题着重研究如何在Windows AD域身份验证基础上扩展支持第三方单点登录协议,实现在AD域终端以及非域终端下基于AD域身份验证后单点登录到基于第三方单点登录协议整合的业务系统。1.1 论文的选题背景 随着计算机的迅猛发展,应用软件和系统的种类越来越多,这些软件的应用方便了人们的日常管理工作,使人们的工作越来越趋于科学化、简单化、方便化。但是这些软件系统都有相互独立的,所以在方便人们管理和工作的同时也产生了繁琐的登录过程和繁多的密码。如果每个登录系统的密码都采用相同的又会产生安全隐患,而繁多的密码又不利于记忆而且出错的概率会随着系统的增加而增加。 理想状况下,是所有的应用系统

13、都采用统一的身份认证体系,但是市场上的应用系统都具有自己的认证体系,无法进行统一的身份认证。系统在方便人们的日常工作的同时也给用户带来了不可避免的麻烦,使得登录系统成为用户最为苦恼的一件事情。在此背景下,适用于企业的单点登录系统是迫在眉睫的。1.2 论文研究的意义Microsoft Active Directory 利用统一的身份认证、安全管理机制,使认证更加的安全可靠,通过Yale大学研究的CAS系统实现单点登录,单点登录系统能够实现各个系统身份的统一认证,将繁琐的登录过程简化掉,只需要通过一次登录就可以访问所有的资源。减少了用户的登录时间,也不需要记录繁琐的密码和账号,同时也减轻了管理员的

14、工作,不用频繁的帮助用户找回密码,同时提高了软件使用效率。1.3 论文的内容安排本论文一共分为六章。希望以下的简单介绍可以帮助读者说明本论文所完成的内容。第一章 引言部分,主要讨论了基基于Windows AD域扩展单点登录技术的研究与实现背景、研究意义以及论文的内容安排。第二章 相关技术简介及其研究意义。第三章 基于Windows AD域扩展单点登录技术设计与分析。第四章 主要单点登录系统典型场景分析。第五章 总结。2 相关技术简介及其研究意义2.1 身份认证身份认证是指在计算机系统中确认操作者身份的过程,从而确定操作者是否对该资源具有访问操作的权限,进而使计算机网络环境更加的安全可靠,更加可

15、以防止该资源被别人冒充访问,对该资源造成威胁。现在通常使用的身份认证有以下常见的几种形式:口令认证、智能卡认证、动态口令认证、生物识别等方法。口令认证:是指用户通过静态的,自己提前设置好的口令进行登录访问。但是很多用户设置时,密码采用自己的生日,姓名字母等一些具有特色的组合作为自己的密码,或者有的人防止自己忘记密码,将密码记录在某些地方,这些都可能造成安全隐患。而且密码密码在传输的过程中也容易被别人截获,存在一定的安全隐患。智能卡认证:是一种相对安全的认证模式,智能卡内部芯片是不可轻易复制的,它是由合法者携带的一种安全的硬件设施。它是基于“what you have”的认证模式,它对于口令认证

16、来说是一种相对安全的认证模式。动态口令认证:是一种动态获取登录密码方式的认证方法,比如比较常见的有短信认证,通过手机绑定,获取动态验证码的方式来完成身份认证,进行登录。还有通过专门的硬件设备,进行动态改变登录密码,常见的有六十秒改变一次登录密码来保护资源不被非法者访问,这也是一种基于“what you have”的认证方式。生物识别:是指通过自身所特有的生物特征进行登录访问,现在比较常见的有:指纹登录,视网膜登录,语音登录,脸型,虹膜等一系列生物特征进行登录。因为视网膜等生物特征是比较独特的,是不可仿造的,所以能够安全的保护用户的隐私,使其不被非法者所冒充。这是一种基于“what you ar

17、e”的认证模式。2.2 Windows AD域身份认证Windows AD域是指(Active Directory)活动目录,遵循ldap协议,动态的建立整个域模式网络中的对象的数据库或索引。AD域和工作组不同,它是具有严格的权限控制的,没有登录到域中的用户是无法对其中资源进行访问控制的。“域”的真正含义指的是服务器控制网络上的计算机能否加入的计算机组合。一提到组合,势必需要严格的控制。所以实行严格的管理对网络安全是非常必要的。2.3 单点登录单点登录的英文名字为single sign on,单点登录就是用户只需要登录一次,就可以访问不同的系统或者资源,它是用户的一个认证过程,单点登录的实现简

18、化了人们日常工作的流程,使用户在登录每个操作系统时,不需要都输入自己的用户名和密码,提高了人们的日常工作效率。SSO有一个形象的解释:“单点登录,全网漫游”。2.3.1单点登录的背景就目前市场而言,单点登录的产品也有很多种,大体分为两大类:一种是商用的单点登录产品,另一种是开源的单点登录产品。商用的单点登录产品大概又分为:专门的商业登录软件和门户产品供应商自己的单点登录产品。专门的商业登录软件包括:Netgrity的Siteminder,已经被CA收购,Novell 公司的iChain,RSA公司的ClearTrust等。门户产品供应商自己的单点登录产品包括:BEA的WLES,IBM 的Tiv

19、oli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。商用的单点登录软件一般都是针对那些对单点登录要求比较高,比较大型的软件公司,它不仅价格昂贵,还需要特定的环境,需要在软件中增加代理模块来完善单点登录。 开源的单点登录产品主要包括:OpenSSO,JOSSO,CAS等。OpenSSO基于Sun Java System Access Manager,是Sun公司支持的一个开源的SSO项目。OpenSSO体系结构设计合理,功能比较强大。然而缺点是客户端支持不够广泛,似乎只是对基于J2EE的应用支持的比较好。JOSSO是另一个Java写的单

20、点登录产品,通常认为比OpenSSO更成熟一些。JOSSO支持的客户端包括Java,PHP和ASP。CAS是耶鲁大学开发的单点登录产品,也是我最后选定的单点登录产品。CAS的优点很多,例如设计理念先进、体系结构合理、配置简单、客户端支持广泛、技术成熟等等。 经过广泛分析和比较,最后我们选定CAS作为我们的单点登录产品。我们确信这是目前能够找到的最好的开源单点登录产品。2.3.2 单点登录原理单点登录(SSO)是使用身份验证的方法,允许授权用户可以访问所有相关的内容,但独立的软件系统或应用程序不会被提示在重新登录,增加用户的工作效率,并允许用户访问多个服务或应用程序时只被认证一次。这并不意味着S

21、SO系统统一的账户信息的所有服务,应用程序和系统,而它隐藏的账户信息等多重成一个单一帐户的用户需要登录。一旦用户登录,SSO系统生成的各种公认的认证信息应用程序和系统。 SSO不仅可以在内联网中使用,还可以在外联网或因特网中使用。单点登录系统主要包括:单点登录服务器和单点登录客户端。服务器主要负责用户的身份认证和实现单点登录的功能。客户端通常和应用系统部署在一起,负责将用户的请求信息发送给单点登录服务器进行身份认证。单点登录的访问流程一般包括以下步骤:1、 单点登录系统客户端发送请求,请求访问应用系统所提供的资源和服务。2、 单点登录客户端将请求重定向回服务器。3、 服务器对请求用户进行身份认

22、证4、 认证通过后,给请求用户随机产生一个Service Ticket,作为身份凭证。5、 单点登录服务器验证Service Ticket的合法性,如果合法,允许用户访问资源。6、 当认证用户合法后传输结果给客户端,客户端储存信息。7、 注销用户登录当用户未注销登录时,合法用户访问其他资源时候,不需要对该用户再次进行身份验证,即实现了单点登录。如图2-1:图2.1 复杂的SSO使用单组凭证可以通过两种方式来完成,即基于凭证和基于公钥如下:(1)基于凭证的SSO系统: 在这种SSO系统,用户提交的凭据到基于凭证的认证权威机构,在该认证中心检查其凭据数据库。如果用户凭据相匹配,则给用户返回一个凭证

23、。当用户想要访问其支配的应用服务器时,同理携带之前的票据访问应用程序服务器。这个过程的成功依赖于服务系统都信任该认证机构。(2)在HTTP环境下的基于凭证的SSO系统 基于凭证的SSO可通过在HTTP的环境中使用的cookie来实现。一个cookie是一组由网络服务器提供给网络浏览器的信息,并存储在客户机上。用于身份验证的cookie可以被加密,使之更加安全可靠。该服务器可以再检测cookie,并给客户提供个性化的服务。 在网络环境中Kerberos系统提供基础建设固定的SSO,然而,它需要客户端的基础设施和配置。在支持HTTP的环境,cookies可被用于构建SSO系统但并不需要多余的安装或

24、必要的配置。 Kerberos系统和Cookies功能SSO的最大系统区别是,前者使用远程过程调用以传输认证的票据,而后者则使用cookies标记。(3) 基于PKI的单点登录系统 在基于PKI的SSO,服务器/资源和用户验证对方时,使用其各自的密钥对。用户可以通过服务器解密任何验证服务器消息,他们发送的信息是由服务器的公钥加密。同样的方式,服务器可以通过他认证过的用户向它们发送消息,该消息是由所述加密解密用户的公共密钥进行加密的。作为私钥的真正拥有者只能解密,相互认证如服务器验证用户身份。用户和服务器的认证机构可以是不同的,如果他们是不同的,该认证机构之间必须是相互信任的。2.3.3单点登录

25、协议在本节中,我们将讨论的简单和复杂的SSO架构使用不同的协议。2.3.3.1 Kerberos身份验证协议 Kerberos是一个经典的实现基于令牌的分布式认证协议。该整个过程分为三个过程和四个实体。四个实体是:1)客户端 - 想要访问的资源2)认证服务器(AS) - 可以验证客户端和资源3)票据授权服务器(TGS) - 生成票据访问资源; 4)应用服务器(S) - 访问请求的资源。三个过程是:1)认证请求和响应:在客户端提交认证请求,并将请求提交给认证服务器进行认证响应 2)票证授予的请求和响应通信:用户进行身份认证后,提交给票据授权服务器,产生用户所对应的票据,并将其返回给应用程序3)应

26、用程序的请求和响应:在客户端使用它从票据授权服务器(TGS)得到票据与应用服务器(S)沟通,在需要的凭据时,第2次和第3次的过程是不断重复后,客户端有权访问其他资源。2.3.3.2安全断言标记语言 安全断言标记语言(SAML)是一种基于XML的开放式标准,交换安全域,即身份提供者和服务之间的认证和授权的数据供应商使用SAML,在线服务提供商的联系人的在线身份提供哪些验证谁试图访问安全内容的用户。 SAML没有规定如何验证用户;而它定义了一种方法,一旦用户是交换认证和授权数据验证。 SAML是不是一系列基于XML的消息的所谓的断言,详细说明而已用户是否被认证(认证断言),有什么样的权利,角色和访

27、问基于(属性断言),他们已经和他们如何使用的数据和资源(授权断言)对这些权利和角色。它使用HTTP,SMTP,FTP和SOAP,以及其他协议和技术传输这些断言。2.3.3.3 OpenID登录OpenID是一个分散的身份验证协议。的OpenID包括三个主要实体:1)在OpenID的标识符:文本或电子邮件地址唯一标识用户的字符串; 2)OpenID依赖方(RP):Web应用程序或服务提供商想要证明最终用户拥有该标识;3)OpenID提供者(OP):一个中央服务器的问题,商店和管理用户的OpenID的标识符。依托双方依靠此提供一个论断,即最终用户拥有该标识。主要有四种方法的OpenID协议中使用:

28、1.Discovery,2.Authentication,3.Association,4验证。发现:最终用户凭用户提供的标识符到依赖方发起认证通过他们的浏览器。 RP就可以执行发现(发现),并建立了OP端点URL其中所使用的用户进行身份验证。认证:RP最终用户的浏览器重定向到一个OpenID认证请求OP。 OP建立了端用户是否被授权。 OP重定向最终用户的浏览器返回到向RP要么是断言,认证认可,或一条消息,验证失败。关联关系:使用Diffie-Hellman密钥的RP和OP建立共享秘密的关联建立交换。 OP使用该协会签署后续的消息和RP验证这些消息;此不再需要后续的直接要求每个认证后,验证签名

29、请求/响应。验证:RP验证从OP包括检查返回URL接收到的信息,验证发现的信息,检查随机数,并通过使用所述共享密钥验证所述签名在协会或通过发送一个直接请求OP建立。2.3.4单点登录的优点在当前的数字世界中,用户可能需要访问多个系统来开展他们的一天活动。系统的数量在不断地增加,每个用户需要记忆的凭证数量也随之增加并由此带来的可能失去或忘记他们的密码事件也增加了。单点登录,可以用来解决涉及用于不同应用程序的多个凭证的许多问题。单点登录访问主要认证中心可以让用户访问所有可用的其他资源。 SSO帮助用户解决记住多个密码的烦恼,也提高了用户和开发人员的生产力,减少用户花费在输入各种密码的登录时间。 从

30、不同的角度和角色进行分析单点登录的优点:用户角度:提高了用户的工作效率,告别了繁琐的登录过程,减少了登录时间,更加避免了大量密码需要记住的烦恼,减少了因为密码相同或者在笔记本中记录密码而发生泄漏的危险。管理员角度:简化了管理员日常的管理工作,管理员不需要频繁的帮助用户找回密码,并且有利于管理员进行管理,在有人员变动时,不需要一个个应用系统的操作,能够实现快速的整合添加应用系统,委派访问权限时候也减少了管理员的工作量。2.4 基于CAS单点登录模型2.4.1 CAS背景及特点 CAS(Central Authentication Service)是Yale发起的一个项目,它为了实现一种企业级的W

31、EB单点登录项目。这个项目是开源的,提供多种协议解决方案,支持多种认证机构,比如Active Directory、LDAP、JDBC、JAAS等 。它的安全策略采用票据的方式,支持授权,可以决定哪些服务可以请求验证票据服务,它提高了单点登录的可用性,同时支持多种客户端,如Java、PHP、Apache、Perl、.Net等。2.4.2 CAS结构体系 CAS包括两部分组成:一部分是CAS Client,它和应用系统客户端部署在一起,用户登录时,将用户重定向到服务器,并将用户名和密码传递给服务器进行验证。另一部分是CAS Server,它负责将客户端传递过来的参数进行认证,认证成功后返回票据给客

32、户端,并完成票据的兑换等工作。2.4.3 CAS原理基本原理 当用户第一次通过web浏览器访问资源时候,CAS客户端和应用系统客户端部署在一起,会直接跳转至CAS Client端,进行对用户身份的验证,用户在CAS Client端需要提交用户名和密码,客户端重定向回CAS Server,将用户的用户名和密码提交给CAS Server,同时将用户需要访问的资源地址发送给CAS Server,CAS 进行验证用户身份,如果用户是合法身份,将会给用户产生一个Ticket,作为用户的身份标识,CAS Server并将生成的Ticket和Service返回给CAS客户端,客户端进行票据的验证,CAS S

33、erver通过票据获取到用户的用户名,用户名合法后,允许用户访问应用系统或者资源,CAS认证结束。CAS的基本原理图2.2如下: 图2.2 2.4.4 CAS 实现单点登录原理 当用户第一次通过浏览器访问资源的时候,会获取客户端的Session,如果客户端存在Session,证明会话没有注销直接访问到资源,但是我们是首次登录,所以在客户端中检测不到session,则重新定向会浏览器,然后获取浏览器中的cookie,将cookie中的TGT发送给CAS服务端进行请求认证,如果已经登录则返回ST给客户端,然后客户端用这个ST兑换用户名登录资源,但是由于是首次登录,所以无TGT或TGT错误,返回登录

34、页面,输入用户名密码后,重定向回CAS服务端进行身份认证,认证成功后,返回ST并重定向回浏览器,浏览器重定向回CAS客户端,请求认证ST,确认ST已经登录后,在CAS客户端创建Session,登陆成功后重定向回请求地址,访问资源,如果不注销登录,当下次访问资源时候,先去CAS客户端获取Session,获取到直接登录,不用再次输入用户名密码,如果为获取到,去浏览器中cookie中获取票据,获取到后直接兑换用户名登录。 图2.33 基于Windows AD域扩展单点登录技术设计与分析 上面我们主要介绍了CAS原理和单点登录机制以及Windows AD域的登录原理。这次我们将CAS单点登录系统和Wi

35、ndows AD域身份认证整合,即身份认证部分交给Windows AD域进行认证,而单点登录则由CAS实现,采取这种设计方案的原因,现在很多公司都在使用Windows AD域进行人员管理,而CAS是支持和Windows AD域整合的,而且Windows AD域认证方式更加的安全可靠,基于以上几点我们采用基于Windows AD域扩展单点登录技术的实现。3.1 CAS私有域登录框架 我们将AD域和CAS相结合的方式实现单点登录,而实现的媒介是Portal,它起到链接认证和AD域整合的作用,AD域进行身份认证,当用户访问资源或者Portal时候,如果没有进行身份认证,即非域终端访问时候,会自动弹出

36、AD域认证框进行身份认证,而如果客户端进行身份认证后,即域终端访问资源或者Portal时候,无需再进行身份认证,此处实现的是AD域单点登录。身份认证后将单点登录交给我们模拟CAS认证的服务中心DTSSO进行单点登录,单点登录主要涉及到申请票据和兑换票据的过程,即用户身份认证后,访问资源的时候会去DTSSO申请票据,DTSSO将票据颁发给受信任的用户,然后用户携带票据去访问资源时候,需要找DTSSO进行票据兑换,去进行用户名验证,如果验证成功则允许用户访问资源。图3.1DTSSO票据服务:1.申请票据 2.兑换票据DTSSOServlet:调用申请票据的webservice接口,申请票据Filt

37、er:调用兑换票据的webservice接口,兑换票据3.2 CAS私有域票据 CAS私有域票据是CAS单点登录实现的重要组成部分,票据的基本信息包括:ID,userADnameID,expireTime,exchangeTimes,ticketGenerateTime等。ID作为票据的唯一标识为了区分票据的身份,userADnameID是AD域账号的唯一标识,用来作为身份验证的信息,而票据的产生是具有有效期限的,一般设置为30秒,因为我们设置了票据的有效时间所以我们为了能够计算票据的有效时间,我们必须用一个关键词作为票据的产生时间,即ticketGenerateTime,而票据产生后,验证身

38、份时候需要兑换票据,即exchangeTimes,一般设置兑换的次数为一次。这些关键词组成了票据。票据基本信息(TicketValue)表3-1:NameValueinstructionbytetypeIDDTSSOID票据唯一标识7StringuserADnameIDUSERADNAMEIDAD账号唯一标识12StringexpireTime30s票据时效3StringexchangeTimes1票据兑换次数1StringticketGenerateTime2014-12-18 22:11:11票据产生时间18String表3-1备注:考虑到性能问题,不建议采用签名技术以及票据目的地验证。3

39、.3 CASSSOServlet类3.3.1有语言就有信息,尤其是中文,暗含的意思更是多重多变。网络的快速发展,尤功能申请票据:用户从客户端将用户名和访问资源的url传递给服务器,服务器对该用户进行身份认证,如果没有通过认证,即用户名不存在,则重新跳转至认证页面进行身份认证,若身份认证通过,则采用soap协议调用DTSSO票据服务的webservice接口申请票据,然后将生成的票据返回给浏览器,作为登录资源的凭证。3.3.2 位置3.3.3 如何申请票据1. 从请求里获得portal对应的ASP页面里的域账号。2. 从请求里获得portal对应的ASP页面里的资源URL。3. 采用soap协议

40、调用DTSSO票据服务的webservice接口申请票据。4. 返回票据给IE洌览器重定向至业务1、2、3。3.3.4 票据申请流程示意图图3.23.4 Filter类3.4.1功能兑换票据:从IE浏览器中获取到之前生成的票据,如果未获取到票据,则重新跳转回用户登录界面进行重新登录,如果获取到票据,则采用soap协议调用DTSSO票据服务的webservice接口兑换票据,返回用户名,兑换完用户名后重新跳转回需要访问的资源。3.4.2 位置3.4.3如何兑换票据1. 从请求里获得IE浏览器返回的ticket。2. 采用soap协议调用DTSSO票据服务的webservice接口兑换票据,返回用

41、户名3. Filter流程结束返回资源。3.4.4 票据兑换流程示意图图3.33.4.5 Filter其他功能缓存域账号说明:将兑换完成返回资源的域账号缓存在cookie里。1. cookiename:userADname2. cookievalue:DTAdministrator3. path:/ 可以跨域访问4. Domain:DT.COM5. EXPIRES:到期时间6. 设置cookie失效时间:为60s.3.5 CAS私有域票据服务接口技术框架示意图: 图3.43.6生成票据接口-requiredTicket本接口是提供业务资源向门户系统请求票据时,生成票据的接口。3.6.1 参数说

42、明userADname=域用户名DTAdministrator3.6.2 返回结果CHSJAJYEEDSSASSDKJFLD=3.7兑换票据接口-exchangeTicket本接口是提供业务资源向门户系统兑换票据时,返回用户名的接口。3.7.1 参数说明ticket=票据类(Base64编码)CHSJAJYEEDSSASSDKJFLD=3.7.2 返回结果Y2hlbmppZQ=3.8票据接口里其他功能3.8.1 缓存票据说明:1.票据唯一标识和TicketValue类缓存map一一映射。 2.域账号唯一标识和userADname缓存map一一映射。 3.TicketValue类和域账号唯一标识 : 类和属性关系。nameValuecontainerDTSSOIDTicketValuemapUSERADNAMEIDuserADnamemap表3-23.8.2 清除票据1. 兑换票据完成后,无论兑换是否成功,都要清除票据2. 票据失效后,校验票据时效,超过时效时间,清除票据。(这里设置票据时效为30s)4 主要单点登录系统典型场景分析4.1 域终端访问Portal4.1.1 场景示意图图4.1当用户第一次通过浏览器访问Portal的时候,浏览器会发出请求向私有域获取票据,因为此用户为域终端用户,所以不需要进行身份认证,直接为该用户生成票据,票据生成后,用户携

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1