介绍

概念

1. CAS

CAS(Central Authentication Service,中央认证服务)
耶鲁大学发起、开源的 Web SSO(单点登录) 实现框架。

2. SSO(单点登录)

多个网站程序统一到唯一地址完成身份登录验证。

  • 特征:应用间基于Web协议(HTTPS)通信,全局唯一登录入口
  • 通俗理解:同一浏览器登录一次认证中心,访问所有信任站点无需重复登录

3. SSO体系三大角色

  1. User:终端用户(浏览器)
  2. Web应用(多个业务系统)
  3. SSO认证中心(唯一)

4. SSO三大核心原则

  1. 所有账号登录操作统一在SSO认证中心执行
  2. 认证中心提供机制,通知各个Web应用当前用户是否已认证;
  3. 认证中心与全部业务Web应用预先建立信任关系。
两大核心

CAS Server(认证服务端)

  • 独立部署的Web程序,唯一认证中心
  • 职责:接收账号密码、完成用户身份校验;签发票据(Ticket)、管理全局会话Cookie(TGC)

CAS Client(客户端,嵌入各个业务系统)

  • 部署在各个业务Web应用内(一般以过滤器Filter形式实现)
  • 职责:拦截受保护资源请求;未登录时,自动将浏览器重定向至CAS Server登录页面

流程

  1. 用户访问业务系统资源 → CAS Client拦截请求,检测请求中没有Service Ticket
  2. Client将浏览器重定向到 CAS Server登录地址,并携带当前业务系统地址(Service)
  3. 用户在CAS服务端输入账号密码完成登录认证
    • 登录成功:CAS Server向浏览器写入 TGC(Ticket Granting Cookie)全局会话Cookie
    • 生成一次性票据:Service Ticket(ST)
  4. CAS Server再次重定向浏览器,回到业务系统地址,URL参数带上 Ticket=xxx
  5. 业务系统CAS Client后台发起服务端请求,携带Service地址+Ticket,向CAS Server校验票据合法性
  6. CAS Server校验票据有效,返回用户身份信息(用户名等)
  7. 校验通过,业务系统创建本地会话,用户正常访问页面

TGC作用:只要浏览器保留TGC Cookie,后续访问其他接入CAS的系统时,不会再弹出登录页面,自动完成单点登录。

Next:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注