首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CAS单点登录-简介(一)

CAS单点登录-简介(一)

作者头像
用户1212940
发布2022-04-13 16:47:29
发布2022-04-13 16:47:29
1.1K0
举报
文章被收录于专栏:LambdaLambda

由于工作上的需求,最近在研究CAS单点登录,参看其它博客官网文档。为了记录学习的一些过程,以便后面翻阅也一同给大家分享一下。

版本为CAS-5.1.3

1. 什么是CAS?什么是单点登录?

CAS是一个单点登录框架,开始是由耶鲁大学的一个组织开发,后来归到apereo去管。 同时CAS也是开源,遵循着apache 2.0协议,代码目前是在github上管理。

单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

通俗理解:一个应用登录了,其他被授权的应用不用再登录。 应用例子为:百度系列产品,只要一个应用登陆成功,其它应用则不需要登陆直接访问。

2. 应用场景

  • 分布式多系统用户集中管理
  • 用户权限集中管理
  • 多因素认证(如微信pc端登录手机确认) 如公司有多个系统,分别OA系统、CRM系统、财务管理系统、设备管理系统等,总不能访问每个系统都要登录一遍吧,用户会疯掉的,应该我们认证一遍,其他系统即可访问。

3. CAS特性

  • 多协议认证支持 CAS OAuth OpenID SAML REST
  • 多因素认证 Duo Google Authenticator YubiKey
  • Cas-Management 服务管理中心(谁能接入SSO)
  • TGT(授权码)管理、ST(票据)管理
  • 动态主题(不通客户端提供不同的登录页)
  • 多方式认证(校验器)
  • 配置中心
  • 监控平台
  • 多属性管理(默认只返回用户名,例如后续返回权限数据)
  • 密码管理 …

CAS特性非常强大,我们可以到官网文档一一了解。 https://www.apereo.org/projects/cas

4.Architecture(架构)

5.System Components (系统组件)

CAS服务器和CAS客户端组成CAS系统架构的两个物理组件,它们通过各种协议进行通信。

CAS Server(CAS服务器)是基于Spring框架构建的Java servlet,其主要职责是验证用户并通过发布和验证票证来授予对启用CAS的服务(通常称为CAS客户端)的访问权限。 当服务器在成功登录时向用户发出票证授予票证(TGT)时,将创建SSO会话。 根据用户的请求,通过使用TGT作为标记的浏览器重定向向服务发出服务票据(ST)。 ST随后通过反向信道通信在CAS服务器上进行验证。 CAS Protocol文档中详细描述了这些交互。

CAS Clients(CAS客户端)术语“CAS客户”在其通用中有两个不同的含义。 CAS客户端是可以通过支持的协议与服务器进行通信的任何CAS支持的应用程序。 CAS客户端也是一个软件包,可以与各种软件平台和应用程序集成,以便通过某种身份验证协议(例如CAS,SAML,OAuth)与CAS服务器进行通信。 已经开发了支持多种软件平台和产品的CAS客户端。

6. cas协议的流程图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 什么是CAS?什么是单点登录?
  • 2. 应用场景
  • 3. CAS特性
  • 4.Architecture(架构)
  • 5.System Components (系统组件)
  • 6. cas协议的流程图:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档