CAS前言

3 篇文章 0 订阅

CAS简介

CAS 是Central Authentication Service的简称,俗称中央认证服务器,是由apereo开发并管理的一套开源的SSO又称单点登录框架。

CAS提供的功能
  • 支持Spring Webflow / Spring Boot Java服务器组件
  • 可插拔的认证支持(LDAP,Database,X.509,SPNEGO,JAAS,JWT,RADIUS,MongoDb等)
  • 支持多种协议(CAS,SAML,WS-Federation,OAuth2.0,OpenID,Connect,REST)
  • 通过各种提供商支持多因素身份验证(Duo Security, FIDO U2F, YubiKey, Google Authenticator, Microsoft Azure, Authy etc)
  • 支持对外部提供程序的委派身份验证(ADFS,Facebook,Twitter,SAML2ldPs等)
  • 内置支持密码管理,通知,使用条款和模拟
  • 支持属性释放,包括用户同意
  • 实时监控和跟踪应用程序行为,统计信息和日志
  • 使用特定的身份验证策略管理和注册客户端应用程序
  • 跨平台支持(Java, .Net, PHP, Perl, Apache, etc)
  • 与InCommon,Box,Office365,ServiceNow,Salesforce,Workday,WebAdvisor,Drupal,Blackboard,Moodle,Google Apps的集成
应用场景
  • 用户权限集中管理
  • 分布式多系统用户集中管理
  • 多终端认证(例如PC,手机端登录)
  • 多因素身份验证(例如:QQ,微信,GitHub,Google Authenticator)
CAS认证习体系图

CAS拥有一个客户端与服务端,客户端与服务端支持多种协议的通信。

CAS Server
CAS Server是一个基于Spring Framework 构建的Servlet,其主要职责是通过颁发和验证票证来验证用户并授予对启用CAS的服务(通常称为CAS客户端)的访问权限。当服务器在成功登录后向用户发出票证授予票证(TGT)时,将创建SSO会话。使用TGT作为令牌,通过浏览器重定向,根据用户的请求向服务发出服务票据(ST)。随后通过反向信道通信在CAS服务器上验证ST。

CAS Client
CAS Client可以是任何启用CAS的应用程序,可以通过支持的协议与服务器通信,CAS客户端也是一个软件包,可以与各种软件平台和应用程序集成,以便通过一些身份验证协议(CAS, SAML, OAuth)与CAS服务器通信

支持的协议
客户端与服务端支持多种协议的建立,所有支持的协议在概念上类似,只是各自拥有一些特性使得它们适用于特定的场景。例如:CAS是支持委托(proxy)认证,SAML协议支持属性释放与单点登出

系统分层架构
  • Web
  • Ticketing
  • Authentication

大多数应用都包含这三个组件。Web端提供与客户端的交互,Web委托ticketing 创建票据用于客户端的访问,SSO会话开始于验证成功后的Ticketing授予票证,因此票务子系统经常委托给验证子系统

认证流程图

基于JWT的认证:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值