CAS单点登陆 SSO
什么是单点登陆
SO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。
有些网站可能整合了多个应用系统,我们一般入口都会放在同一个页面上,当我们进入任何一个应用系统进行操作的时候,都需要分别进行登陆或者退出,如果有了单点登陆,当我们登陆其中任意一个应用系统,然后再切换到其他系统的时候就不必再重复登陆了,退出也一样
重要的名称解释
SSO : Single Sign On;单点登录
CAS : Central Authentication Service ;中央认证服务
TGT : Ticket Grangting Ticket ; CAS为用户签发的登陆票据,拥有TGT,用户就可以证明在CAS登陆过
TGC : Ticket-granting cookie; 存放用户身份认真的cookie
ST :Service Ticket ; 服务票据,服务的唯一标识
CAS工作原理

一般集成sso的时候我们会把CAS Client 和 客户端应用绑定在一起,利用在web.xml中配置filter拦截需要走sso的请求,经过 CAS Client的处理 转去 CAS服务端进行登陆,如果登陆成功,则发放票据,并且返回票据,当应用的其他页面进行访问的时候,会把票据携带到CAS服务器,然后CAS服务器会认证票据的有效性,如何有效,重定向到目的页面,如果无效,则重新登陆后重定向。
大致流程如下图所示

注意,退出的时候sso服务器会发送请求去每个子系统进行退出。
主要是理解原理,一般我们做sso的时候要看项目需要,像一般的管理网站,也许登陆系统和应用系统是分开的,但是有一些网站登陆系统就是网站的登陆,子应用是嵌套在主应用下的。
由于我所做的项目并非开源,所以也不好贴些代码进一步说明.........。
CAS单点登陆 SSO的更多相关文章
- CAS单点登录(SSO)完整教程
转:http://blog.csdn.net/frinder/article/details/7969925 CAS单点登录(SSO)完整教程(2012-02-01更新) 一.教程说明 前言 教程目的 ...
- cas 单点登录(SSO)实验之二: cas-client
cas 单点登录(SSO)实验之二: cas-client 参考文章: http://my.oschina.net/indestiny/blog/200768#comments http://wenk ...
- cas 单点登录(SSO)之一: jasig cas-server 安装
cas 单点登录(SSO)实验之一: jasig cas-server 安装 参考文章: http://my.oschina.net/indestiny/blog/200768#comments ht ...
- cas 单点登录(SSO)之中的一个: jasig cas-server 安装
cas 单点登录(SSO)实验之中的一个: jasig cas-server 安装 參考文章: http://my.oschina.net/indestiny/blog/200768#comments ...
- Spring Security 解析(六) —— 基于JWT的单点登陆(SSO)开发及原理解析
Spring Security 解析(六) -- 基于JWT的单点登陆(SSO)开发及原理解析 在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把 ...
- 解决Spring Boot 从1.x升级到 2.x 后 单点登陆(SSO)问题
解决Spring Boot 从1.x升级到 2.x 后 单点登陆(SSO)问题 在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring S ...
- JAVA CAS单点登录(SSO) 教程
一.教程前言 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤 单点登录(SSO):请看百科解释猛击这里打开 本教程使用的SSO服务器是Yelu大学研发的CAS(Central Auth ...
- JAVA CAS单点登录(SSO)
一.教程前言 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤 单点登录(SSO):请看百科解释猛击这里打开 本教程使用的SSO服务器是Yelu大学研发的CAS(Central Auth ...
- CAS单点登陆/oAuth2授权登陆
单点登陆 CAS是一个单点登录框架,即Central Authentication Service(中心认证服务) ,开始是由耶鲁大学的一个组织开发,后来归到apereo去管,github地址:htt ...
随机推荐
- XML属性列表
<?xml version="1.0" encoding="UTF-8"?> <Resources> <Include > ...
- 使用 Git 同步时出现ssl错误
错误提示 fatal: unable to access 'https://android.googlesource.com/platform/prebuilts/qemu-kernel/': gnu ...
- HTML 基本标签02
02-html基本标签 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- 理清JS数组、json、js对象的区别与联系
最近在敲代码时,遇上了一个关于JS数组的问题,由此引发了关于对象和json的联想,曾经觉得很畅顺的知识点突然模糊了.于是,为了理清这些东西,有了如下这篇文章.觉得没问题的猿们可以当复习,而那些带着疑问 ...
- Nginx代理TCP服务
利用nginx代理tpc 部署nginx 安装编译所需环境 # yum install -y apr-devel apr-util-devel pcre-devel openssl-devel 添加w ...
- 复习hiernate
Configuration Configuration 类负责管理 Hibernate 的配置信息 包括如下内容:1,Hibernate运行的底层信息:数据库的URL.用户名.密码.JDBC驱动类, ...
- 设计模式(8)--Decorator--装饰器模式--结构型
1.模式定义: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 2.模式特点: 装饰模式能够实现动态的为对象添加功能,是从一个对象 ...
- 《NoSQL精粹》读书笔记
NoSQL数据库数据模型的一般分类: 1. 键值数据模型 2. 文档数据模型 3. 列族数据模型 4. 图数据模型 常见NoSQL数据库: Redis, Cassandra, MongoDB, Neo ...
- Android 主题theme说明 摘记
主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格.在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status B ...
- 【Linux init】systemd 服务单元管理
系统服务管理systemd Control the systemd system and service manager 控制systemd系统和服务管理,并行启动服务时充分发挥了多核处理器的性能, ...