统一身份认证平台集成接口文档

上传人:ni****g 文档编号:504458348 上传时间:2022-12-09 格式:DOC 页数:36 大小:232KB
返回 下载 相关 举报
统一身份认证平台集成接口文档_第1页
第1页 / 共36页
统一身份认证平台集成接口文档_第2页
第2页 / 共36页
统一身份认证平台集成接口文档_第3页
第3页 / 共36页
统一身份认证平台集成接口文档_第4页
第4页 / 共36页
统一身份认证平台集成接口文档_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《统一身份认证平台集成接口文档》由会员分享,可在线阅读,更多相关《统一身份认证平台集成接口文档(36页珍藏版)》请在金锄头文库上搜索。

1、 .wd.三峡大学统一身份认证平台接口文档目录1.统一身份认证简介31.1背景知识31.1.1 什么是单点登录Single Sign On:31.1.2 中心认证服务的设计愿景:31.2CAS的实现4系统中的用到的凭证ticket:52.JAVA语言62.1CAS简单登陆的实现62.2CAS登出123.PHP语言133.1CAS单点登录测试环境搭建步骤133.1.1获取必要的驱动程序:133.1.2搭建php运行环境133.1.3配置PHP cas 客户端测试程序133.2PHP-CAS客户端143.2.1cas-client的初始化143.2.2设置不是SSL的CAS认证163.2.3进展C

2、AS认证173.2.4登出204.ASP.NET语言224.1搭建ASP.NET环境224.2CAS简单登陆实现224.3CAS登出实现235.ASP语言245.1CAS简单登录实现245.2CAS登出实现256.附录266.1附录1266.2附录2286.3附录3306.4附录4316.5附录5321. 统一身份认证简介1.1 背景知识1.1.1 什么是单点登录Single Sign On:所谓单点登录是指基于用户/会话认证的一个过程,用户只需一次性提供凭证仅一次登录,就可以访问多个应用。目前单点登录主要基于Web的多种应用程序,即通过浏览器实现对多个B/S架构应用的统一账户认证。1.1.2

3、 中心认证服务的设计愿景:简单的说,中心认证服务Central Authentication Service 缩写:CAS的目的就是使分布在一个企业内部各个不同异构系统的认证工作集中在一起,通过一个公用的认证系统统一管理和验证用户的身份,一般我们称之为统一身份认证平台。在CAS上认证的用户将获得CAS颁发的一个证书,使用这个证书,用户可以在成认CAS证书的各个系统上自由穿梭访问,不需要再次的登录认证。打个比方:对于参加欧盟的国家而言,在他们国家中的公民可以凭借着自己的身份证,在整个欧洲旅行,不用签证。对于学校内部系统而言,CAS就好比这个颁发欧盟认证的系统,其它系统都是参加欧盟的国家,它们要共

4、同遵守和成认CAS的认证规则。因此CAS的设计愿望就是: 实现一个易用的、能跨不同Web应用的单点登录认证中心; 实现统一的用户身份和密钥管理,减少多套密码系统造成的管理本钱和安全漏洞; 降低认证模块在IT系统设计中的耦合度,提供更好的SOA设计和更弹性的安全策略。1.2 CAS的实现从构造上看,CAS 包含两个局部: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图1 是 CAS 最 根本的协议过程:CAS Client 与受

5、保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service 也就是要访问的目的资源地址,以便登录成功过后转回该地址。用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 T

6、icket Granted CookieTGC,CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进展身份适宜,以确保 Service Ticket 的合法性。在该协议中,所有与 CAS 的交互均采用 SSL 协议,确保,ST 和 TGC 的安全性。协议工作过程中会有 2 次重定向的过程,但是 CAS Client 与 CAS Server 之间进展 Ticket 验证的过程对于用户是透明的。另外,CAS 协议中还提供了 Proxy 代理模式,以适应更加高级、复杂的应用场景,具体介绍可以参考 CAS 官方网站上的相关文档。

7、 系统中的用到的凭证ticket:Ticket-granting cookie(TGC) 凭证存放cookie它是存放用户身份认证凭证的cookie,在浏览器和CAS间通讯时使用,并且只能基于安全通道 S。它是CAS用来明确用户身份的凭证,是实现web系统SSO的可选方案之一。Service ticket(ST) 服务许可证Service ticket凭证由CAS服务器发出,通过客户端浏览器,到达业务服务器通过URL重定向和ticket参数来实现。每个ST只能使用一次,针对特定的服务生成唯一识别码。Proxy-granting ticket(PGT) 代理授权许可证该许可证由CAS服务器颁发给

8、拥有ST凭证的服务如果一个服务自身没有获得ST凭证,是不可能获得PGT的。该许可证绑定一个用户的一个特定服务,使其拥有向CAS服务器申请,以获得“代理凭证Proxy-tickets的能力。Proxy-granting ticket IOU(PGTIOU) 代理授权许可证索引这个许可证索引将通过凭证校验时的应答信息由CAS服务器端返回给CAS客户端。与此同时,与该索引对应的PGT将通过回调链接传给web应用。Web应用必须维护着PGT索引和PGT之间映射关系的内存表。Proxy ticket(PT)代理许可证是应用程序代理用户身份,对目标程序进展访问的凭证。代理许可证保存有代理及代理们进展逐级访

9、问过程的信息。一个代理访问的有可能是另一个更高级的代理,因此PT可以用来获取下一级代理的PGT。这些逐级生成的PGT将保存有从用户到最终目标之间的代理队列的完整信息。后面的章节将介绍常用的几种语言编写的程序,如何如何集成到统一身份认证中心平台。如果将来学校还有其他语言的系统需要集成到统一身份认证中心平台,请联系公司索取相应的实现方法。2. JAVA语言2.1 CAS简单登陆的实现假设 CAS Server 单独部署在一台机器 A,而客户端应用部署在机器 B 上,由于客户端应用与 CAS Server 的通信采用 SSL,因此,需要在 A 与 B 的 JRE 之间建设信任关系。首先与 A 机器一

10、样,要生成 B 机器上的证书,配置应用服务器的 SSL 协议。其次,下载 :/blogs.sun /andreas/entry/no_more_unable_to_find 的 InstallCert.java,运行“ java InstallCert compA:7002 命令,并且在接下来出现的询问中输入1。这样,就将 A 添加到了 B 的 truststore 中。如果多个客户端应用分别部署在不同机器上,那么每个机器都需要与 CAS Server 所在机器建设信任关系。u 配置 CAS Filter准备好应用 casTest1 和 casTest2 过后,分别部署在 B 和 C 机器上,

11、由于 casTest1 和casTest2,B 和 C 完全等同,我们以 casTest1 在 B 机器上的配置做介绍,假设 A 和 B 的域名分别为 domainA 和 domainB。将cas-client-java-2.1.1.jar 并拷贝到 casTest1/WEB-INF/lib目录下,修改 web.xml 文件,添加 CAS Filter,如清单 10 所示:u 添加 CAS Filter . CAS Filter edu.yale.its.tp.cas.client.filter.CASFilter edu.yale.its.tp.cas.client.filter.login

12、Url s:/domainA:8443/cas/login edu.yale.its.tp.cas.client.filter.validateUrl s:/domainA:8443/cas/serviceValidate edu.yale.its.tp.cas.client.filter.serverName domainB:8080 CAS Filter /protected-pattern/* .对于所有访问满足 casTest1/protected-pattern/ 路径的资源时,都要求到 CAS Server 登录,如果需要整个 casTest1 均受保护,可以将 url-patte

13、rn 指定为“/*。从以上配置可以看到,我们可以为 CASFilter 指定一些参数,并且有些是必须的,表格 1 和表格 2 中分别是必需和可选的参数:表格 1. CASFilter 必需的参数参数名 作用 edu.yale.its.tp.cas.client.filter.loginUrl 指定 CAS 提供登录页面的 URL edu.yale.its.tp.cas.client.filter.validateUrl 指定 CAS 提供 service ticket 或 proxy ticket 验证服务的 URL edu.yale.its.tp.cas.client.filter.serverName 指定客户端的域名和端口,是指客户端应用所在机器而不是 CAS Server 所在机器,该参数或 serviceUrl 至少有一个必须指定 edu.yale.its.tp.cas.client.filter.serviceUrl 该参数指定过后将覆盖 serverName 参数,成为登录成功过后重定向的目的地址 表格 2. CASFilter 可选参数参数名 作用 edu.yale.its.tp.cas.client.filter.proxyCallbackUrl 用于当前应用需要作为其他服务的代理(proxy)时获

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号