单点登录系统和CAS的简介
---恢复内容开始---
什么是单点登录?
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.
如果我们的系统存在于诸多的子系统中,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决.

通过这张图就可以简单的对单点登录有一定的了解:
1.用户第一次访问应用系统的时候,因为还没有登录,就会被引导到认证系统中进行登录.
2.根据用户提供的登录信息,认证系统进行身份校验,如果通过校验应该返回给用户一个认证的凭据--ticket
3.用户再访问别的应用的时候,就会将这个ticket带上,作为自己的凭据,应用系统接收到请求之后,就会把ticket送到认证系统进行校验,检查ticket的合法性.如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和3了.
要实现SSO,需要一下主要的功能:
所有应用系统共享一个身份认证系统.\
统一的认证系统是SSO的前提之一,认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证,认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户,另外,认证系统还应该对ticket进行校验,判断其有效性.
` 所有应用系统能过识别和提取ticket的信息.
要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户,应用系统应该能对ticket进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登陆过,从而完成单点登录的功能.
优点:
1.提高用户的效率
用户不再被多次登录困扰,也不需要记住多个ID密码,另外,用户忘记密码并求助于支持人员的情况也会减少.
2.提高开发人员的效率
SSO为开发人员提供了一个通用的身份证验证框架.实际上,如果SSO机制是独立的,那么开发人员就完全不需要为身份验证进行操心,他们可以假设,只要对应用程序的请求附带一个用户名,身份验证就已经完成了.
3.简化管理
如果应用程序加入了单点登录协议,管理用户账号的负担就会减轻,简化的程度取决于应用程序,因为SSO只处理身份验证.所以,应用程序可能仍然需要设置用户的属性(比如访问特权).
缺点:
1.不利于重构,
因为涉及到的系统会很多,要重构必须要兼容所有的系统,可能很耗时.
2.无人看守桌面
因为只需要登录一次,所有的授权的应用系统都可以访问,可能导致一些很重要的信息泄露.
CAS(中央认证服务)
CAS是Central Authentiction Service 的缩写,中央认证服务,一种独立开放指令协议.CAS是Yale大学发起的开源项目.旨在为Web应用系统提供一种可靠的单点登录方法,CAS在2004年12月正式称为JA-SIG的一个项目.
特点:
1.开源的企业级单点登录解决方案.
2.CAS Service为需要独立部署的Web应用.
3.CAS Client 支持非常多的客户端(这里指单点登录系统中的各个Web应用),包括Java .NET PHP Apache uPortal Ruby等
CAS的原理:

从结构上看,CAS包含两部分:CAS Server和CAS Client.CAS Server需要独立部署,主要负责对用户的认证工作;CAS Client负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS Server.这个是CAS最基本的协议过程:
CAS Client与受保护的客户端应用部署在一起,以Filter方式保护受保护的资源,对于访问受保护的资源的每个Web请求,CAS Client会分析该请求的Http请求中是否包含Server ticket,如果没有,则说名当前用户尚未登录,于是将请求重定向到指定好的CAS Server登录地址,并传递Service(也就是要访问的目的资源地址),以便登录成功后转回该地址.用户在第三步中输入认证信息,如果登录成功,CAS Server随机产生一个相当长度,唯一,不可伪造的Service Ticket,并缓存以待将来验证,之后系统自动重定向到Service所在地址,并为客户端浏览器设置一个Ticket Granted Cookie(TGC),CAS Client在拿到Service和新产生的Ticket过后,在第五六步中与CAS Server进行身份核实,以确保Service Ticket的合法性.
在该协议中,所有与CAS的交互均采用SSL协议,确保,ST和TGC的安全性,协议工作过程中会有两次重定向的过程,但是CAS Client 与CAS Server之间进行Ticket验证的过程对于用户是透明的.
另外,CAS 协议中还提供了Poxy(代理)模式,以适应更加高级,复杂的应用场景.更加详细的介绍可以参考官网上的相关文档.
---恢复内容结束---
单点登录系统和CAS的简介的更多相关文章
- Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署
Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.CAS简介 CAS( ...
- cas sso单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析
转:http://blog.csdn.net/ae6623/article/details/8848107 1)PPT流程图:ppt下载:http://pan.baidu.com/s/1o7KIlom ...
- SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析
落雨 cas 单点登录 一.用户第一次访问web1应用. ps:上图少画了一条线,那一条线,应该再返回来一条,然后再到server端,画少了一步...谢谢提醒.而且,重定向肯定是从浏览器过去的.我写的 ...
- 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...
- 【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...
- [转]单点登录SSO学习——CAS协议内容
作者:anmaler 本文转自:http://blog.zhaojunling.me/p/24 CAS中文文档甚少,这篇文章对CAS接口参数有比较清楚的说明,排版也不错查阅舒适 在当前互联网产品中使用 ...
- SSO单点登录一:cas单点登录防止登出退出后刷新后退ticket失效报500错,也有退出后直接重新登录报票根验证错误
问题1: 我登录了client2,又登录了client3,现在我把client2退出了,在client3里面我F5刷新了一下,结果页面报错: 未能够识别出目标 'ST-41-2VcnVMguCDWJX ...
- CAS5.2x单点登录(一)——搭建cas服务器
系列文章列表: https://blog.csdn.net/u013825231/article/category/7517313 单点登录的介绍 单点登录(Single Sign On ,简称SSO ...
- 单点登录(七)-----实战-----cas server去掉https验证
我们在搭建cas中已经说过如果不搭建https证书体系的需要去掉https的验证: 单点登录(二)----实战------简单搭建CAS---测试认证方式搭建CAS 因为cas4.2以上的代码做了一些 ...
随机推荐
- 黑盒测试实践——day06
一.任务进展情况 通过小组成员的共同努力,终于完成了此次“黑盒测试实践”任务.目前的主要任务将之前的文件汇总,整理出来. 二.存在的问题 由于此 ...
- F#周报2019年第15期
新闻 Hedgehog新站点 Bolero 0.4发布,增加远程认证 FsToolkit.ErrorHandling与Cvdm.ErrorHandling合并了 F#里的3D图形编程与游戏开发 有趣的 ...
- 报文分析3、ICMP协议的头结构
ICMP协议的头结构 类型(8位) 代码(8位) 校验和(8位) 类型或者代码 (1)类型:一个8位类型字段,表示ICMP数据包类型. (2)代码:一个8位代码域,表示指定类型中的一个功能.如果一 ...
- js canvas游戏初级demo-上下左右移动
大概流程就是监听状态变化擦除画布重绘 由于js监听时间变化的函数addEventListener只能达到每秒触发20次左右,也就是每秒20帧,看起来有点卡卡的 所以用定时器搞到每秒30帧 按上下左右键 ...
- 使用 Canal 实现数据异构
小结: 1. https://mp.weixin.qq.com/s/z-5aoGVuk7JzIGrJJWgeJw 使用 Canal 实现数据异构 原创: 杜亦舒 性能与架构 3月4日
- zblog如何更改数据库配置以及生效
zblog是一个博客的开源框架, 挺不错的,我们当前拿来作为新闻系统管理使用. 由于我们数据库需要统一使用RDS, 故对zblog数据库配置进行修改,修改文件如下: 1. 数据库文件地址: zb_us ...
- kali在vbox上运行设置共享文件夹
mount -t vboxsf VBoxShared /root/Desktop/vbox 0x00 使用共享文件夹的前提 需要自行安装增强功能:https://jingyan.baidu.com/a ...
- 做一个有产品思维的研发:Scrapy安装
每天10分钟,解决一个研发问题. 如果你想了解我在做什么,请看<做一个有产品思维的研发:课程大纲>传送门:https://www.cnblogs.com/hunttown/p/104909 ...
- 全志A33驱动GT911触摸屏
0x00 环境说明: 所使用的开发板为锐尔威视的插针版A33_Vstar 触摸屏驱动IC为GT911 接线参照开发板的TP线路 0x01 修改系统配置文件: 笔者所使用的A33开发板的系统配置文件路径 ...
- Java中的过滤器,拦截器,监听器---------简单易懂的介绍
过滤器: 过滤器其主要特点在于:取你需要的东西,忽视那些不需要的东西!在程序中,你希望选择中篇文章中的所有数字,你就可以针对性的挑选数字! 拦截器: 拦截器其主要特点在于:针对你不要的东西进行拦截,比 ...