項目名稱 - 金智北京分公司知識平臺項目名稱 - 金智北京分公司知識平臺
IDStarV5.0认证集成实施手册(JAVA版)
IDStarV5.0认证集成实施手册(JAVA版)
编制人员: 许继锋
平台技术部 编制部门:
审核确认
金智教育 〔 此处键入用户名称 〕 〔 此处键入第三方名称 〕 签字: 签字: 签字:
日期: 日期: 日期:
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 1 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
修改记录表
序 修改人 修改内容 批准人 生效日期 版本号 ...
項目名稱 - 金智北京分公司知識平臺
IDStarV5.0认证集成实施手册(JAVA版)
IDStarV5.0认证集成实施手册(JAVA版)
编制人员: 许继锋
平台技术部 编制部门:
审核确认
金智教育 〔 此处键入用户名称 〕 〔 此处键入第三方名称 〕 签字: 签字: 签字:
日期: 日期: 日期:
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 1 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
修改记录表
序 修改人 修改内容 批准人 生效日期 版本号 1 许继锋 创建文档 许继锋 V0.1 2 周曦新 简化集成方式 V0.2 3 4 5 6 7 8 9 10
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 2 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
目录
1 前言.......................................................................................................................... 4
1.1 编写目的 ........................................................................................................ 4
1.2 服务对象 ........................................................................................................ 4 2 集成方式概述............................................................................................................ 5 3 认证接口集成............................................................................................................ 6
3.1 JDK版本要求 ................................................................................................. 6
3.2 客户端Jar包部署 ........................................................................................... 6
3.3 配置web.xml .................................................................................................. 6
3.4 修改原有登录入口 .......................................................................................... 7
3.5 修改原有登出 ............................................................................................... 10
3.6 集成其他相关 ................................................................................................11
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 3 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
1 前言
1.1 编写目的
本文档作为IDStarV5.0版本中应用系统的认证集成手册,旨在指导校内应用系统实现校内统一身份认证和单点登录集成。
1.2 服务对象
读者对象 阅读范围
能熟悉掌握整个产品的流程和实施方法,能做到顺利完成产产品开发项目组人员 品项目或指导产品项目的实施。
产品维护人员 阅读全部内容
工程项目经理 阅读全部内容
产品部署实施人员 阅读全部内容
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 4 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
2 集成方式概述
IDStarV5.0单点登录基于CAS(Central Authentication Service – 中心认证服务),目的就是使分布在内部各个不同异构系统的认证工作集中在一起,通过一个公用的认证系统统一验证用户身份的合法性。通过CAS认证的用户将获得CAS颁发的一个证书,使用这个证书,用户可以在承认CAS证书的各个系统上自由穿梭访问,不需要再次的登录认证。
CAS客户端在认证过程中的实现逻辑:
1)以filter的形式,对B/S结构应用系统资源进行过滤保护,可以保护所有资源,也可以保护单一资源。
2)获得CAS Server颁发的ServiceTicket,并凭此ST从CAS Server上取得登录用户信息。 3)为第三方应用提供开发接口,使得受保护的应用能够根据CAS认证信息进行正确的登录。 版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 5 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
3 认证接口集成
3.1 JDK版本要求
程序使用的JDK要求是JDK1.5及以上版本。
3.2 客户端Jar包部署
将公司提供的casclient.jar放在集成系统的WEB-INF/lib目录下。 3.3 配置web.xml
CAS Filter
edu.yale.its.tp.cas.client.filter.CASFilter
edu.yale.its.tp.cas.client.filter.loginUrl
;/param-value>
edu.yale.its.tp.cas.client.filter.validateUrl
;/param-value>
edu.yale.its.tp.cas.client.filter.wrapRequest
true
edu.yale.its.tp.cas.client.filter.serverName
ssodemo.test.com:8980
edu.yale.its.tp.cas.client.filter.needSSOLogout
true
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 6 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
过滤器需要放在最前面,参数说明如下:
参数 edu.yale.its.tp.cas.client.filter.loginUrl 说明 CAS登录页URL
样例 参数 edu.yale.its.tp.cas.client.filter.validateUrl 说明 CAS的验证URL(CAS Client会在获得ServiceTicket之后
发送到这个地址进行验证从而获得用户相关信息) 样例 参数 edu.yale.its.tp.cas.client.filter.wrapRequest 说明 是否把用户相关信息Wrap到HttpServietRequest 样例 true
参数 edu.yale.its.tp.cas.client.filter.serverName 说明 集成应用host:port(http或者https及后面的URI都不需要) 样例 ssodemo.test.com:8980
3.4 修改原有登录入口
集成有两种方案:
, 方案一
保留原有登录入口,新增加应用访问入口,新增入口与CAS做集成
, 在web.xml里面上述配置的filter的基础上增加filter的过滤pattern
CAS Filter
/caslogin.jsp
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 7 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
, 引入CAS相关
<%@page import="edu.yale.its.tp.cas.client.CASAttrPrincipal"%>
, 获取登录帐号
String uid = request.getRemoteUser();
, 获取登录帐号属性
CASAttrPrincipal principal = (CASAttrPrincipal)request.getUserPrincipal(); Map
userMap = principal.getAttributes();
String cn=userMap.get("cn");
, 实现登录
按照上述获取用户帐号,在集成系统中判断用户在集成系统中是否存在,如果存在实现集成系统的登录(例如session中写入身份信息、权限信息等等),如果不存在按照集成既定的业务逻辑处理。
, 登录后根据原有逻辑跳转
登录成功之后,可以按照原有逻辑去处理,或者跳转到一开始访问的未授权页,或者跳转到集成系统的首页。
, 方案二
封闭原有入口,统一使用CAS登录入口
, 在web.xml里面上述配置的filter的基础上增加filter的过滤pattern(这边是*)
CAS Filter
/*
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 8 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
, 引入CAS相关
<%@page import="edu.yale.its.tp.cas.client.CASAttrPrincipal"%>
, 获取登录帐号
String uid = request.getRemoteUser();
, 获取登录帐号属性
CASAttrPrincipal principal = (CASAttrPrincipal)request.getUserPrincipal(); Map userMap = principal.getAttributes();
String cn=userMap.get(“cn”);
, 修改登录验证逻辑
按照上述获取用户帐号,在集成系统中判断用户在集成系统中是否存在,如果存在实现集成系统的登录(例如session中写入身份信息、权限信息等等),如果不存在按照集成既定的业务逻辑处理。
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 9 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
3.5 修改原有登出
(可选,如果不需要单点登出,这一部分可以不做)
, 在原有登出逻辑的基础上,redirect到统一身份认证logout链接,如下(跳转到哪一页由
集成系统自己决定)
{encoded(集成系统首页URL)} 统一身份认证登出URL可在web.xml里面作为全局参数配置好:
casServerLogoutUrl
;/param-value>
上述URL可以通过request.getServletContext().getInitParameter("casServerLogoutUrl")获取 或者JSP中通过application.getInitParameter("casServerLogoutUrl")获取
, 集成应用会话超时登出如果需要单点登录会话登出,在web.xml里面加入如下Listener
edu.yale.its.tp.cas.client.SingleSignOutHttpSessionListener
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 10 页,共 11 页
IDStarV5.0认证集成实施手册(JAVA版)
3.6 集成其他相关
, 集成系统需要在金智统一身份管理平台里面注册应用。
, 集成系统与统一身份认证服务器之间能有以普通用户访问URL正常访问到对方。
在集成系统能正常访问到统一身份认证比如上述的:
(DNS解析正常,https的话证书要加入自己的信任列表,http不需要)
同样,在统一身份认证服务器上需要能够正常访问到集成应用的URL:
(同样要求DNS解析正常,https的话证书要加入统一身份认证服务器的信任列
表,http不需要)
样例代码见附件
,, 文档结束 ,,
版权所有 ? 江苏金智教育信息技术有限公司,保留所有权利。 第 11 页,共 11 页
本文档为【項目名稱 - 金智北京分公司知識平臺】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。