SSO处理流程|学习笔记

简介: 快速学习SSO处理流程

开发者学堂课程【Java面试疑难点串讲5:系统架构及项目设计:SSO处理流程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/28

SSO处理流程

阿里云开发者学院


 

目录:

一、SSO的处理流程

二、CSA

 

 

一、SSO的处理流程

●所谓单点登录用在什么场景上:单点登录的上主要是用再集群上的应用场景。

●SSO应用场景

阿里云目前支持两种SSO方式:角色SSO和用户SSO。本文为您介绍这两种方式的适用场景和选择依据,帮助您根据整体业务需求选择合适的SSO方式。

  角色SSO

角色SSO适用于以下场景:

出于管理成本考虑,不希望在云端创建和管理用户,从而避免用户同步带来的工作量。

在使用SSO的同时,仍然保留一部分云上本地用户,可以在阿里云直接登录。云上本地用户的用途可以是新功能测试、网络或企业IdP出现问题时的备用登录方式等。

 

根据用户在本地IdP中加入的组或者用户的某个特殊属性,来区分云上拥有的权限。当进行权限调整时,只需要在本地进行分组或属性的更改。

 

a、拥有多个阿里云账号但使用统一的企业IdP,希望在企业IdP配置一次,就可以实现到多个阿里云账号的SSO。

b、各个分支机构存在多个IdP,都需要访问同一个阿里云账号,您需要在一个阿里云账号内配置多个IdP进行SSO。

C、除了控制台,也希望使用程序访问的方式来进行SSO。

 

 ★用户SSO

用户SSO适用于以下场景:

a、希望从阿里云的登录页面开始发起登录,而非直接访问您IdP的登录页面。

b、需要使用的云产品中有部分暂时不支持角色访问。

C、IdP不支持复杂的自定义属性配置。

d、没有上述需要使用角色SSO的业务需求,而又希望尽量简化IdP配置。

image.png

CAS

●CAS有一个自己的流程,在其中SSO流程有一个最关键的流程是https(Openssl 证书签发)

image.png

CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 耶鲁大学(Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

特点

1、开源的企业级单点登录解决方案。

2、CAS Server 为需要独立部署的 Web 应用。

3、CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等语言编写的各种web应用。

4、CAS属于Apache 2.0许可证,允许代码修改,再发布(作为开源或商业软件)。

5、原理和协议

从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图1 是 CAS 最基本的协议过程:

image.png

CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。

用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进行身份核实,以确保 Service Ticket 的合法性。

在该协议中,所有与 CAS 的交互均采用 SSL 协议,确保,ST 和 TGC 的安全性。协议工作过程中会有 2 次重定向的过程,但是 CAS Client 与 CAS Server 之间进行 Ticket 验证的过程对于用户是透明的。

另外,CAS 协议中还提供了 Proxy (代理)模式,以适应更加高级、复杂的应用场景。

 

 

 

相关文章
|
10月前
|
网络协议 算法 测试技术
企业招聘时看重哪些能力
企业招聘主要看重三方面:测试技术能力、计算机理论知识和业务能力。以腾讯为例,测试技术涵盖功能测试、自动化测试等;计算机理论包括网络、操作系统、数据库等基础知识;业务能力则要求掌握常用测试方法及业务和技术架构梳理。社招中,企业更注重应聘者的技术能力和项目经验的结合,建议候选人通过实际项目提升并展示这些能力。
|
7月前
|
数据采集 存储 监控
网站价格监控:动态价格数据的实时抓取案例
本案例展示了如何利用爬虫技术实时抓取京东等电商平台的商品信息、价格及用户评价,通过代理IP、Cookie和User-Agent确保数据稳定采集。关键数据分析包括价格动态监控、评价趋势分析和竞争情报获取,助力商家制定策略。代码从简单请求逐步演进为具备异常处理、数据解析等功能的完整体系,并设计了「技术关系图谱」,直观展示系统模块间的关系,为开发者提供全局视角和技术路径参考。
1037 0
网站价格监控:动态价格数据的实时抓取案例
|
Linux Perl
如何在Linux系统中确定CPU架构
如何在Linux系统中确定CPU架构
599 0
|
NoSQL 关系型数据库 MySQL
Redis私有云平台-Cachecloud安装和部署手册
Redis私有云平台-Cachecloud安装和部署手册
请教如何配置img.alicdn.com而不是ossgw.alicdn.com
请教如何配置img.alicdn.com而不是ossgw.alicdn.com
|
算法 计算机视觉 C++
Kalman算法C++实现代码(编译运行通过)
Kalman算法C++实现代码(编译运行通过)
223 0
|
人工智能 自然语言处理 数据可视化
盘点那些具有特色的写作软件
优秀写作软件有哪些?
613 0
盘点那些具有特色的写作软件
|
存储 消息中间件 监控
闲鱼消息发展回顾
一直未停止过的脚步
529 0
闲鱼消息发展回顾
|
数据采集 云安全 监控
云时代重新定义主机安全:自动化安全闭环是核心
随着越来越多的企业和机构正在逐步上云,主机安全是企业上云首先需要考虑的问题。在当前安全事件频发,且企业还没有具备专业安全运营能力的现状下,只具备检测或防御等单一功能的传统主机安全产品已不再适应这样的场景和需求,产品具备检测、防御为一体的安全闭环能力将成为刚需。
|
机器学习/深度学习 人工智能 算法
智能驾驶系统是怎样看懂交通标志的?3张流程图给你讲明白
导读:自然场景中交通标志牌图像识别的关键技术主要分为检测和识别两大类。其中,为了对目标图像进行准确识别,标志牌感兴趣区域的检测是首先要解决的问题。