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 (代理)模式,以适应更加高级、复杂的应用场景。

 

 

 

相关文章
|
Linux Perl
如何在Linux系统中确定CPU架构
如何在Linux系统中确定CPU架构
1681 0
|
关系型数据库 测试技术 分布式数据库
PolarDB | PostgreSQL 高并发队列处理业务的数据库性能优化实践
在电商业务中可能涉及这样的场景, 由于有上下游关系的存在, 1、用户下单后, 上下游厂商会在自己系统中生成一笔订单记录并反馈给对方, 2、在收到反馈订单后, 本地会先缓存反馈的订单记录队列, 3、然后后台再从缓存取出订单并进行处理. 如果是高并发的处理, 因为大家都按一个顺序获取, 容易产生热点, 可能遇到取出队列遇到锁冲突瓶颈、IO扫描浪费、CPU计算浪费的瓶颈. 以及在清除已处理订单后, 索引版本未及时清理导致的回表版本判断带来的IO浪费和CPU运算浪费瓶颈等. 本文将给出“队列处理业务的数据库性能优化”优化方法和demo演示. 性能提升10到20倍.
1539 4
|
6月前
|
安全 API UED
2026 年起 WhatsApp 消息计费将调整!企业必看!
WhatsApp 将于 2026 年 1 月起调整全球消息计费规则:法国、埃及的营销类消息价格大幅下调(降幅近40%),美加的验证与通知类消息也小幅降价;但印度 Marketing 消息价格上涨约10%。出海企业需根据区域成本变化,重新评估通信预算与触达策略,避免隐性成本累积。
1255 0
|
3月前
|
安全 Linux Shell
Linux服务安装ftp服务(支持ftps)详细教程
本文详解vsftpd FTP服务器的快速部署:涵盖Debian/Ubuntu与CentOS/RHEL系统安装、专用用户与目录创建、核心安全配置(禁用匿名访问、chroot限制)、FTPS加密配置(TLS 1.2/1.3支持、自签名证书生成)及隐式SSL(端口990)设置,并提供服务管理与本地测试命令。
754 2
|
数据采集 云安全 监控
云时代重新定义主机安全:自动化安全闭环是核心
随着越来越多的企业和机构正在逐步上云,主机安全是企业上云首先需要考虑的问题。在当前安全事件频发,且企业还没有具备专业安全运营能力的现状下,只具备检测或防御等单一功能的传统主机安全产品已不再适应这样的场景和需求,产品具备检测、防御为一体的安全闭环能力将成为刚需。
2515 1
|
JSON 前端开发 JavaScript
使用Express写接口
使用Express写接口
406 0
使用Express写接口
|
关系型数据库 数据库 索引
阿里数据库内核月报:2016年04月
阿里数据库内核月报:2016年04月
1761 0
|
存储 索引
【刷穿 LeetCode】一题双解 :「朴素解法」&「二分 + 优先队列(堆)」| 8月更文挑战
【刷穿 LeetCode】一题双解 :「朴素解法」&「二分 + 优先队列(堆)」| 8月更文挑战