CAS企业单点登录-架构

cas_architecture

系统组件

CAS服务器和客户端包含CAS系统体系结构的两个物理组件,通过各种协议进行通信。

CAS服务器

CAS服务器是构建在Spring框架上的Java servlet,其主要职责是通过发出和验证票据,对用户进行身份验证并授予对启用了casas的服务(通常称为CAS客户机)的访问权。当服务器在成功登录时向用户发出通知票(TGT)时,将创建SSO会话。服务票证(ST)是通过浏览器重定向使用TGT作为令牌来发送给服务的。ST随后通过后通道通信在CAS服务器上进行验证。在CAS协议文档中详细描述了这些交互。

CAS客户端

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

平台:

Applications:

  • Canvas
  • Atlassian Confluence
  • Atlassian JIRA
  • Drupal
  • Liferay
  • uPortal

当“CAS客户端”一词在本手册中出现时,它指的是集成组件,如Java CAS客户端,而不是依赖于(CAS服务器的客户端)的应用程序。

支持的协议

客户端通过任何支持的协议与服务器通信。所有受支持的协议在概念上都是相似的,但是有些协议的特性或特征使它们适合于特定的应用程序或用例。例如,CAS协议支持委托(代理)身份验证,SAML协议支持属性释放和单点退出。

支持的协议:

软件组件

将CAS服务器描述为三层子系统是有帮助的:

网络(Spring MVC / Spring Webflow)
票务
身份验证

几乎所有的部署考虑事项和组件配置都涉及这三个子系统。Web层是与包括CAS客户端在内的所有外部系统通信的端点。Web层委托票务子系统为CAS客户端访问生成票证。SSO会话开始于在成功的身份验证时发出一张票据,因此票务子系统经常委托给身份验证子系统。

身份验证系统通常只在SSO会话开始时处理请求,但也有其他可以调用它的情况(例如强制身份验证)。

Spring Framework

CAS使用Spring框架的许多方面;最值得注意的是Spring MVCSpring Webflow。Spring为核心CAS代码库以及部署人员提供了完整的可扩展框架;通过连接CAS和Spring API扩展点来定制或扩展CAS行为非常简单。Spring的一般知识有助于理解某些框架组件之间的相互作用,但并不是严格要求的。

Spring Boot

CAS也很大程度上基于Spring Boot,它允许使用Spring平台和第三方库的固执观点来创建一个独立的web应用程序,而无需进行尽可能多的XML配置。Spring Boot允许CAS隐藏其组件及其配置的内部复杂性,而是提供自动配置模块,这些模块可以简单而自动地配置正在运行的应用程序上下文,不需要太多人工干预。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :