SSO 是 什 么?
SSO 是 什 么?
一、SSO是什么,
定义:SSO (Single Sign On)单点登录,简单的说,就是在一个系统共存的环境
下,用户在一处系统登录后,在进入其他的子系统,就不用在重新输入账号和密码了。
例子:网页博客和网页邮箱,当你输入了自己的账号密码,登录了网页邮箱之后,你要
进入网页博客,只需直接进入就行了,不用在重新输入网易邮箱的账户和密码。
比如:
baidu.com => zhidao.baidu.com、music.baidu.com、baike.baidu.com......
qq.com => feiji.qq.com、cd.qq.com、music.qq.com
核心:实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如
何验证这个信任的有效性,因此要点也就以下几个:
1, 存储信任
2, 验证信任
只要解决了以上的问题,达到了开头讲得效果就可以说是SSO。最简单实现SSO的方法
就是用Cookie,顺序图(Sequence Diagram)如下:
二、体系组成:
(1)有三个角色,
User(多个)
Web应用(多个)
SSO认证中心(一个)
(2)客户端和服务端
CAS Server
CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户
名 / 密码等凭证 (Credentials) 。就是 安装在服务器端的一个web程序 目前有耶鲁大
学的 也有其它机构开发的它是复制认证的服务器
CAS Client
CAS Client部署在客户端,当有对本地 Web 应用受保护资源的访问请求,并且需
要对请求方进行身份认证,重定向到 CAS Server 进行认证。
三、实现:
实现方式一般有两种:跳转和弹出层回调。
当用户在子系统未登录时,便会携带相关参数,比如tieba.baidu.com去到
SSO(passport.baidu.com)进行登录登录成功SSO会生成ticket key并附加给源网址跳
转回去,这个时候SSO上已经有用户的登录状态了,但是各个子系统仍然没有登录态,所
以根据这个ticket设置各个子系统独立的登录态是需要的。
当在SSO验证结束后,会回到子系统,子系统会根据得到的ticket(SSO为此次登录生
成的用户基本信息加密串)获取用户的基本信息,从而在本站设置登录态。
四、小结单点登录优缺点
优点:说白了SSO就是让用户只通过一次登录访问所有应用程序。它提供一个统一的
机制来管理用户的身份验证,并实现业务规则来决定用户对应用程序和数据的访问。
·提高用户的效率。用户不再被多次登录困扰,也不需要记住多个 ID 和密码。另
外,用户忘记密码并求助于支持人员的情况也会减少。
·提高开发人员的效率。SSO 为开发人员提供了一个通用的身份验证框架。实际上,
如果 SSO 机制是独立的,那么开发人员就完全不需要为身份验证操心。他们可以假设,
只要对应用程序的请求附带一个用户名,身份验证就已经完成了。
·简化管理。如果应用程序加入了单点登录协议,管理用户帐号的负担就会减轻。简
化的程度取决于应用程序,因为 SSO 只处理身份验证。所以,应用程序可能仍然需要设
置用户的属性(比如访问特权)。
缺点:
·难以重构。对 SSO 解决方案进行重构来适应现有的应用程序很困难,很耗费时间而且昂贵。
·无人看守的桌面。实现 SSO 会减少一些安全风险,但是也增加了其他安全风险。例如,如果用户登录之后离开了他的机器,恶意用户就可以访问他的资源。尽管这是一
个的安全问题,但是 SSO 会使这个问题更加严重,因为恶意用户可以访问所有获
得授权的资源。在采用多次登录方式时,用户每次只能登录进一个系统,所以只有一个
资源被泄露。
·单点攻击。在使用单点登录时,所有应用程序使用一个集中的身份验证服务。对于
希望实施拒绝服务攻击的黑客,这是一个有吸引力的目标。
SSO 是 什 么?相关推荐
- 在特定情况下的简单SSO实现方案
最近需要实现类似单点登录的功能.情况是这样的,最初在做网站A,做着做着,要做网站B了,要求与网站A完全分开作为两个应用,但用户数据要求与网站A保持一致,也要求用户在网站A登录后,转到网站B时不需要再登 ...
- Spring Cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)
上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的 ...
- SSO单点登录基于CAS架构封装 Memcached 实例
2019独角兽企业重金招聘Python工程师标准>>> SSO认证中心是CAS整个应用架构的一个极其重要的关键点,必须满足如下两点要求: 1.高可用,不允许程序发生故障.如果认证中心 ...
- 【WebMisCentral WMC】基于Extjs 4.2x的企业级用户授权认证中心系统(SSO+AM+SM),多租户SAAS应用...
http://saas.chinacloudtech.com 题记 三年磨一剑,在企业信息化的道路上已经走了3年之久了,3年多时间里做了很多,突破了很多:有无奈和辛酸,也有收货与喜悦:自我价值也在不断 ...
- 不要用JWT替代session管理(上):全面了解Token,JWT,OAuth,SAML,SSO
通常为了弄清楚一个概念,我们需要掌握十个概念.在判断 JWT (Json Web Token) 是否能代替 session 管理之前,我们要了解什么是 token,以及 access token 和 ...
- java oauth sso 源码_基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践
概 述 在前文<基于Spring Security和 JWT的权限系统设计>之中已经讨论过基于 Spring Security和 JWT的权限系统用法和实践,本文则进一步实践一下基于 Sp ...
- CAS SSO 原理 - 基础模式
对于这个老话题,网上太多的资料,但是要让大家清楚地理解CAS还是不太容易,所以,读了一些文章,并做了一些摘录整理,方便新人理解. 对于CAS登录的过程,下面这段是讲得最清楚的. 登录应用A 主要原理: ...
- SSO 单点登录会话管理
2019独角兽企业重金招聘Python工程师标准>>> 最近在公司的技术分享会中谈到了SSO相关的知识点,在此再做整理记录.本次分享来自Tate先生,在下只是一个大自然搬运工.其中涉 ...
- [精华][推荐]CAS SSO单点登录服务端客户端学习
1.了解单点登录 SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用(多 ...
- CAS做单点登陆(SSO)——集成BIEE 11g
BIEE 11G和CAS集成零代码编写,只需配置. 更改BIEE analytics应用的web.xml 将analytics.war解包(使用7-zip或者Win-rar就可以),然后修改WEB-I ...
最新文章
- linux文件目录类常用命令
- DGL教程【二】如何通过DGL表示一个Graph
- 如何删除一个VDP服务器
- mybatis学习(40):逆向工程的创建
- B. Sifid and Strange Subsequences
- Linux Ubuntu16.04界面美化
- Problem D: 编程题B-向量的数量积
- 360团队 临时目录的原始文件不是360合法文件_谈谈腾讯电脑管家小团队版
- EasyUI 扩展自定义EasyUI校验规则 验证规则
- 请大家帮忙,帮我看一下.net的这个问题
- IO操作write()写的文档内不是你设置的buff
- 员工培训与开发实训心得体会_人力资源实训个人总结
- matlab如何进行图像读取,matlab如何读取图像
- Telink BLE SIG Mesh GATT 配网功能
- 左倾红黑树(Left-Leaning Red-Black Trees:LLRBT)解析
- 通用-描述文件找不到
- 奇妙的裴波那契数列和黄金分割
- 问题记录 -- 未定义的引用 ||| not found
- 敏捷开发绩效管理之九:阿米巴经营之软件团队经营什么(上)
- CF 1253D-Harmonious Graph-并查集+贪心
热门文章
- 工资个人所得税计算方法c语言,C语言编写一个计算个人所得税的程序,要求输入收入金额,能够输...
- Talk预告 | 清华大学交叉信息研究院助理教授赵行:基于视觉感知的自动驾驶运动预测
- JS 实现一个倒计时
- 7-9 sdut-九九乘法表分数7-10 sdut-sel-1 R-D先生生日(分支结构)
- 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin安装过程全记录
- 这款好用的Mac视频剪辑工具你不要错过了~
- 【汇正财经】如何进行股票板块的热点判断?
- (sklearn)lasso回归linear_model.Lasso()方法
- java 根据日期计算当前周一和周日,及根据秒数计算天小时分钟秒数等相关日期
- CSCD(中国科学引文数据库)介绍