CAS前言 ﹏ヽ暗。殇╰゛Y 2022-05-11 12:10 201阅读 0赞 ### CAS简介 ### > CAS 是Central Authentication Service的简称,俗称[中央认证服务器][Link 1],是由`apereo`开发并管理的一套开源的`SSO`又称[单点登录][Link 2]框架。 #### 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_architecture.png][] 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授予票证,因此票务子系统经常委托给验证子系统 #### 认证流程图 #### ![cas_flow_diagram.png][] **基于JWT的认证:** ![cas_flow_jwt_diagram.png][] [Link 1]: https://baike.baidu.com/item/CAS/1329561?fr=aladdin [Link 2]: https://baike.baidu.com/item/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/4940767?fr=aladdin [cas_architecture.png]: /images/20220505/f5a6a779139b4eec9e9092bdd5479d0c.png [cas_flow_diagram.png]: https://apereo.github.io/cas/5.1.x/images/cas_flow_diagram.png [cas_flow_jwt_diagram.png]: /images/20220505/0568decb5cb946f2bd38522442c2addb.png
相关 前言 本专栏将会持续更新java初级和中级知识体系 方便学习自学者建立健全的Java知识体系 方便有基础者回顾java体系知识 专栏目录 [1.java基础][1.java] 布满荆棘的人生/ 2024年04月02日 04:08/ 0 赞/ 79 阅读
相关 前言 写这个专栏的目的是为了分享自己的经验,希望可以帮助更多在学习Java的道路上迷茫的小伙伴。 因为博主也是从一知半解到逐渐熟悉,这一路上,有很多的朋友同事锦囊相授,在此 - 日理万妓/ 2023年02月20日 07:36/ 0 赞/ 9 阅读
相关 前言 Hello, I'm Shendi -------------------- 有一段时间没发案例了 这次准备着手写一个专栏,对于之前写的一些案例(贪吃蛇,中国象棋,五子棋 朴灿烈づ我的快乐病毒、/ 2023年01月02日 06:27/ 0 赞/ 143 阅读
相关 前言 因为本人工作繁忙,多半不能解答您的具体的技术问题(包括发私信或邮件),请大家多谅解。 本博客所有内容及信息,均为作者个人观点,并不代表欧特克软件有限公司(Autodesk,I ╰半橙微兮°/ 2022年06月12日 04:55/ 0 赞/ 165 阅读
相关 前言 2017.5 现在已近在Java开发工作中沉浸了半年,算上学习的时间,零零散散也有快两年了,所以也准备写写博客,这里将博客的格式稍微规定一下,以后就按照此格式进行博客编 你的名字/ 2022年06月08日 00:21/ 0 赞/ 175 阅读
相关 CAS前言 CAS简介 > CAS 是Central Authentication Service的简称,俗称[中央认证服务器][Link 1],是由`apereo`开发并管理的一套 ﹏ヽ暗。殇╰゛Y/ 2022年05月11日 12:10/ 0 赞/ 202 阅读
相关 前言 ![挥霍时间][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0 忘是亡心i/ 2022年04月04日 14:22/ 0 赞/ 231 阅读
相关 前言 最近在看《谁的青春不迷茫》,内容很让我动容,虽然之前听朋友对刘同的评价不太好,然而我看东西是不大带有偏见的。用文笔把青春奋斗的十年写下来,给自己也给别人。这样真的很好。我喜欢 爱被打了一巴掌/ 2022年01月11日 04:29/ 0 赞/ 232 阅读
相关 前言 由于自己的基础相对很差,所以需要找一本基础书籍好好的看一遍。就选这本啦,尽快看完。 ![2789632-94bdd46613a775b9.png][] [278 Love The Way You Lie/ 2021年06月24日 16:11/ 0 赞/ 451 阅读
相关 前言 为什么学linux? 一方面,.net都跨平台了,了解下免费的linux。 另一方面,希望对操作系统有更多的了解,扩展知识面。 之后可能会遇到使用linux系统,当然 逃离我推掉我的手/ 2021年06月24日 16:11/ 0 赞/ 403 阅读
还没有评论,来说两句吧...