1 / 17

《 单点登录 》 构件介绍

《 单点登录 》 构件介绍. ——— 石鑫磊. 2011 年 3 月. 单点登 录 的定义. 什么是单点登 录 单点登录( single sign on ),简称 SSO ,是目前比较流行的企业应用集成解决方案。 SSO 的定义就是用户只需一次登录,就可以访问所有相互信任的应用系统。 使用单点登 录 的好处 1 、 方便用户 2 、 方便管理员 3 、 简化应用系统开发. CAS 介绍. CAS 是什么

yori
Download Presentation

《 单点登录 》 构件介绍

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 《单点登录》构件介绍 ———石鑫磊 2011年3月

  2. 单点登录的定义 • 什么是单点登录 单点登录(single sign on),简称SSO,是目前比较流行的企业应用集成解决方案。SSO的定义就是用户只需一次登录,就可以访问所有相互信任的应用系统。 • 使用单点登录的好处 1、方便用户 2、方便管理员 3、简化应用系统开发

  3. CAS介绍 • CAS是什么 CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源的SSO服务。该服务是以一个java web app来进行服务的,使用时需要将war包发布到一个servlet2.3兼容的服务器上,并且服务器需要支持SSL,在需要使用该服务的其他服务器(客户端),只要进行简单的配置就可以实现SSO了。 • CAS中的几个概念 ST:Service Ticket,用于客户端应用持有,每个ST对应一个用户在一个客户端上。TGT:Ticket Granting Ticket,存储在CAS服务器端和用户cookie两个地方。

  4. https://casserver/login?service=http://mainpage/index.html 单点登录流程演示:第一次登录 早晨第一件事,登录主页,查看通知! CAS http://mainpage//index.html?ticket= ST-1-qRPh34B1xhe4dquzz 用户IE 用户名/密码 写Cookie到客户浏览器 redirect ST ok,认证成功,我生成Cookie、TGT、ST,TGT我保存,Cookie,ST返回到浏览器,浏览器可以用ST访问主页了。 没有传cookie过来?那去登录页面登录吧! service=http://mainpage/index.html ticket=ST-5-qRPh34B1xhe4dquzz ST验证成功,返回用户数据 redirect http://mainpage/index.html 好,收到ST了,我去CAS验证一下 哈哈,第一次来,我给你redirect到CAS去! 好,我生成用户对象,你可以到进入主页了! AMS 内网主页 业务系统

  5. 单点登录流程演示:访问业务系统 https://casserver/login?service=http://spxt/index.html 再登录业务系统,进行日常工作吧! CAS 用户IE redirect ST TGT Cookie传过来了,我验证一下是不是我生成的,哦,还真是,那我用TGT签发一个ST,redirect给浏览器吧 http://spxt/index.html redirect 哇,只输入了一次用户名/密码,就访问多个系统,比原来强多了! http://spxt/index.html?ticket=ST-2-qRPh78V1xhe4dquzz service=http://spxt/index.html ticket=ST-2-qRPh78V1xhe4dquzz OK,你可以登录业务系统了 ST验证成功,返回用户数据 好,我去CAS验证一下ST 哈哈,第一次来,没有ST,去CAS申请一个吧! AMS 内网主页 业务系统

  6. CAS登录认证原理图

  7. 单点登录构件 • 构件技术特点 • 基于CAS修改 • 客户端Filter功能整合 • 自定义用户表 • 用户密码MD5加密验证 • 支持CS客户端验证 • 登录日志审计

  8. 单点登录构件使用 • 服务器搭建 • 将summer-ssoserver.war发布到中间件 • 修改用户映射表 • 修改数据库连接信息 • 修改登录页面。单点登录服务器自带的为CAS的登录页面,各系统使用的时候需要将其改为应用系统的登录页面,所有单点登录系统将共用同一个登录页面。

  9. 单点登录构件使用 • 客户端配置(各应用系统配置) • 引入依赖的Jar包 • 修改Filter配置项 • 增加实现Auth接口类

  10. 客户端过滤器配置项 • 客户端Filter有多种选项可自行配置

  11. 客户端过滤器配置项 • 客户端Filter有多种选项可自行配置

  12. 单点登录构件典型应用 • 运维平台 • 老内网

  13. 公司其他单点登录方案 • URL伪单点登录 公司早期系统基本都采用URL串来实现单点登录,URL中包含有登录信息,但这并不是真正的单点登录,任何采用此方式的系统都需要知道加密密钥,因此URL串极易被伪造。但此方式在summer的框架下实现比较简单。 • CoCall单点登录 通过用户IP到CoCall服务器获取用户登录信息的方式。原理实际上是通过本地的dll获取cocall用户的用户名密码,然后去业务系统中自动登录。安全性相对较高,和CoCall集成的较好。但是需要用户有CoCall的环境,同时业务系统的人员帐号需要和CoCall的帐号一致。应用系统使用时需要对系统登录模块进行一定的修改,同时不支持外网用户的单点登录(因为外网用户无法传递真实IP)。

  14. 单点登录构件优势 • 真正的单点登录实现 • 较好的性能保障 • 配合组织机构构件能够统一人员登录信息,免除人员同步的烦恼 • 为其他系统的开发提供便利(越早应用,代价越小) • 功能扩展方便 • C/S和B/S系统均能集成使用

  15. 已有系统单点登录构件集成难点 • 人员帐号不统一 • 比如公司内部信息化应用,就有域帐号、CoCall帐号、人员中文帐号等不同帐号。 • 如果无法统一人员帐号,只能进行人员帐号信息同步。 • 登录模块修改 • Summer2.0以后的项目只需要修改登录模块,更老的项目或者第三方开发的项目修改起来可能会有一定难度。

  16. 组织机构同步 • 整合各个业务系统之间的组织机构人员表数据 • 制定全局的统一匹配规则 • 编写定时或者手动的组织机构同步服务代码

  17. 谢谢大家!

More Related