- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SSO集成规范
SSO集成规范
文件状态:
[ ] 草稿
[ ] 评审
[√] 发布 文件标识: 当前版本: V2.0 作 者: 完成日期: 2011-3-10
目录
0 文档介绍 4
0.1 目的 4
0.2 文档范围 4
0.3 适用对象 4
0.4 术语与缩写解释 4
1 应用系统SSO集成规范 4
1.1 单点登录总体规范 4
1.1.1 显式登录 5
1.1.2 隐式登录 5
1.2 应用系统SSO集成时序图 6
1.2.1 认证过程 6
1.2.2 单点退出过程 7
1.3 接入要求 8
1.3.1 总体要求 8
1.3.2 特殊情况下的接入要求 9
2 应用范例 9
2.1 Java应用作为CAS Client接入例程 9
2.1.1 实现步骤 9
2.1.2 JAVA的应用SSO集成其它情况 13
2.2 .NET应用作为CAS Client接入例程 13
2.2.1 实现步骤 14
2.2.2 首页面登录改造 15
2.2.3 相关源码 15
2.3 PHP应用作为CAS Client接入例程 15
2.3.1 实现步骤 15
2.3.2 应用的首页改造 16
2.3.3 关键代码 17
2.4 其它应用的SSO集成参考 17
目的
集团公司员工用户访问应用系统,实现一次登录,便可实现单点登录。
方便集成商快速且规范的完成SSO集成要求。
文档范围
适用对象
术语与缩写解释
缩写、术语 解 释 SSO Single Sign On 单点登录 CAS Server 单点登录服务器 CAS Client 与单点登录服务器进行SSO集成和各应用系统 AD Active Directory活动目录(LDAP应用软件一种),用作统一认证。 应用系统SSO集成规范
单点登录总体规范
各异构平台的接入应用统一称为应用系统,应用系统只有到SSO服务平台进行登录认证后,才能进行单点登录。由SSO服务平台提供的登录界面,称为:统一认证登录界面(下同)
用户首次访问应用系统时,都需要产生一个登录过程,根据当前用户IE中会话情况,分为两种登录过程:1)显示登录 2)隐式登录。
显式登录
显式登录:需要出现SSO服务器提供的登录界面,用户在此界面,输入登录信息并通过SSO服务器端的AD认证后才能访问应用系统;
显示登录过程如图:
隐式登录
隐式登录:完全由应用系统后台自动与SSO服务平台交互完成,用户访问操作时感觉不到此过程,可直接访问应用系统的资源。出现此登录情形,仅当用户IE中的会话,是已经通过访问其它应用系统进行过显示登录后创建的,并且是有效保存的。
隐式登录过程如图:
在当前会话的生命周期内,显示登录只会发生一次,隐式登录根据用户在会话周期内访问多应用系统时,都且仅发生一次;
应用系统SSO集成时序图
认证过程
讨论第一次访问应用系统资源时,用户、应用系统以及SSO服务平台三者之间的建立SSO服务的交互过程。
显式登录的认证时序图
显式登录判断条件:用户当前IE中会话,即没有到SSO服务平台做过登录,也没有登录当前应用系统。
可根据当前会话中:session(以及cookie)和ticket是否同时为空进行判断,符合条件则进行显式登录认证过程。
隐式登录的认证时序图
隐式登录的判断条件:用户当前的IE会话,虽然已通过登录过SSO服务器并认证通过,但属第一次访问当前应用系统。
可根据当前会话中:获取到了ticket,但session(以及cookie)为空进行判断,符合条件则进行隐式登录的认证过程。
认证过程实现伪码
if (当前session有效) {
继续响应请求
}else if (session中无ticket) {
//进行显式登录认证过程
重定向到统一登录界面
} else{
String user=根据会话中的ticket验证并解析用户ID
if (user == null) {
重定向到统一登录界面
}
//进行隐式或显式登录应用系统登录过程
if (session!=null) {
记录已登录的本地session;
完成第三方应用登录接口调用;
}
继续响应请求
}
}
单点退出过程
时序图
实现方法及步骤
调用CAS Server单点退出接口http(s):///cas /logout;
清除本地Session,以及cookie;
重定向到统一登录界面Java应用作为CAS Client接入例程
下面例子,通过介绍通过过滤器技术,拦截对java应用web页面的请求,实现JAVA的WEB应用系统,如何实现内部模块间的SSO,并与
文档评论(0)