单点登录系统SSO以及实现技术CAS了解(手记)
Posted pnmh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单点登录系统SSO以及实现技术CAS了解(手记)相关的知识,希望对你有一定的参考价值。
一.单点登录
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的 解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访 问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用 于同一个用户的登录的机制。
优点:
1)提高用户的效率。
用户不再被多次登录困扰,也不需要记住多个 ID 和密码。另外,用户忘记密码并求助于支持人员的情况也会减少。
2)提高开发人员的效率。
SSO 为开发人员提供了一个通用的身份验证框架。实际上,如果 SSO 机制是独立的,那么开发人员就完全不需要为身份验证操心。他们可以假设,只要对应用程序的请求附带一个用户名,身份验证就已经完成了。
3)简化管理。
如果应用程序加入了单点登录协议,管理用户帐号的负担就会减轻。简化的程度取决于应用程序,因为 SSO 只处理身份验证。所以,应用程序可能仍然需要设置用户的属性(比如访问特权)。
缺点:
1)不利于重构
因为涉及到的系统很多,要重构必须要兼容所有的系统,可能很耗时。
2) 无人看守桌面
因为只需要登录一次,所有的授权的应用系统都可以访问,可能导致一些很重要的信息泄露。
二.什么是CAS?
单点登录典型的技术实现有 CAS;而 CAS(Central Authentication Service) 是 Yale 耶鲁大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点 登录方法,CAS 开始于 2001 年。
从结构体系看;CAS 包含两部分:
1、 CAS Server : CAS Server 负责完成对用户的认证工作,CAS Server 是一台应用需要独立部署。 CAS Server 可能会到数据库或 XML 文件中检索用户密码进行认证工作。
2、 CAS Client :CAS Client 一般表示业务系统(我们开发的项目)但是在项目中添加了 CAS 的各类过滤器;对受保护的资源进行身份认证,它将认证重定向到CAS Server中进行。
三.运行流程视图
四.实现步骤:
sso-client
- 拦截子系统未登录用户请求,跳转至sso认证中心
- 接收并存储sso认证中心发送的令牌
- 与sso-server通信,校验令牌的有效性
- 建立局部会话
- 拦截用户注销请求,向sso认证中心发送注销请求
- 接收sso认证中心发出的注销请求,销毁局部会话
sso-server
- 验证用户的登录信息
- 创建全局会话
- 创建授权令牌
- 与sso-client通信发送令牌
- 校验sso-client令牌有效性
- 系统注册
- 接收sso-client注销请求,注销所有会话
以上是关于单点登录系统SSO以及实现技术CAS了解(手记)的主要内容,如果未能解决你的问题,请参考以下文章