CAS体系结构

来源:互联网 发布:镕基软件股票 编辑:程序博客网 时间:2024/05/17 08:05

CAS Architecture Diagram

1. 系统组件(System Components)

  CAS Server 和 Clients构成了CAS系统架构的两套物理组件,两者通过多种协议进行交互。

1.1 CAS Server

  CAS Server是一套基于Spring Framework构建的Java Servlet应用,主要负责通过颁发和验证票据(ticket),对客户端进行用户身份认证和服务授权(CAS-enabled Services)。当CAS Server向认证成功用户颁发票据授权票据(ticket-granting ticket (TGT))的时候,创建一个SSO会话。当用户请求使用TGT作为令牌通过浏览器重新定向的时候,一个服务票据(service ticket (ST))会颁发给服务。随后ST会被通过反向交互通道(back-channel communication)在CAS Server上验证。上述交互的具体描述可参见CAS协议文档。

1.2 CAS Client

  术语“CAS Client”在日常应用中包含两种含义:

  1)任何支持CAS,可以通过支持的协议与CAS服务器交互的应用

  2)可以和各种软件平台或应用集成,通过认证协议(e.g. CAS, SAML, OAuth)与CAS服务器进行交互的软件包;

    平台支持范围:

      Apache httpd Server (mod_auth_cas module)
      Java (Java CAS Client)
      .NET (.NET CAS Client)
      PHP (phpCAS)
      Perl (PerlCAS)
      Python (pycas)
      Ruby (rubycas-client)
    应用支持范围:

      Outlook Web Application (ClearPass + .NET CAS Client)
      Atlassian Confluence
      Atlassian JIRA
      Drupal
      Liferay
      uPortal

1.2 协议(Protocols)

  客户端与服务器通过各种支持的协议进行交互。所有被支持的协议在概念上都是相似的,但是某些功能或特征使其成为特定应用或使用情况的最佳选择。例如CAS协议支持委托授权,SAML协议支持属性释放(attribute release)和单一注销( single sign-out)。

    支持的协议:

      CAS (versions 1, 2, and 3)
      SAML 1.1
      OpenID
      OAuth (1.0, 2.0)

2. 软件组件(Software Components)

  有助于在三层子系统方面描述CAS Server。

    1)Web (Spring MVC/Spring Webflow)
    2)Ticketing
    3)Authentication
  几乎所有部署考虑和组件配置都和这三层子系统有关。Web层是一个和外部系统(含CAS Client)的交互端,作为票据子系统(ticketing subsystem)的代理为CAS Client的访问提供生成票据服务。SSO会话(SSO Session)随着向认证成功用户颁发票据授权票据(ticket-granting ticket (TGT))一同生效,因此票据子系统经常代理到认证子系统。

  认证子系统通常只处理SSO会话开始前的请求,但是其他情况下也可以被调用(e.g. 强制认证(所有请求处理前都需要再次验证身份))。









0 0
原创粉丝点击