### CAS SSO配置文档详解
#### 一、SSO实现原理与CAS的作用
单点登录(Single Sign-On,简称SSO)是一种用户身份验证机制,允许用户在一个安全领域内访问多个应用系统,而无需多次输入身份验证信息。在税务行业信息化发展中,应用整合成为关键,SSO作为其核心组成部分,对于提升用户体验、简化管理和增强安全性具有重要意义。
**1. 概念理解**
- **单一登陆点(SSO Entry)**:这是用户进入SSO环境的入口,用户仅需在此处完成一次身份验证,后续访问其他关联应用时无需重复登录。对于Web应用而言,此入口通常是一个统一的门户或认证服务。
- **SSO-enable应用系统**:是指那些能够与SSO环境集成,接受并处理SSO token(或其他身份验证凭证)的应用。这意味着原有的用户认证流程需要被修改或替换,以支持SSO机制。
- **统一的认证与权限信息库**:为了实现SSO,需要一个集中的认证中心存储所有用户的认证和权限信息,这有助于避免每个应用系统独立管理用户数据,减少重复建设和维护成本。
**2. CAS的角色**
CAS(Central Authentication Service)作为SSO解决方案的一部分,主要承担以下职责:
- **集中认证**:CAS提供统一的身份验证服务,无论是Web应用还是非Web应用,都可通过CAS进行用户身份验证。
- **会话管理**:CAS管理用户的会话状态,确保用户在各个应用间切换时,无需重复登录。
- **SSO token的生成与分发**:CAS生成会话token,并将其发送至用户的浏览器或应用,用于后续的无感登录。
#### 二、SSO技术实现
**1. 实现描述**
在SSO环境中,当用户首次登录时,CAS会通过Login Delegate机制为用户创建会话,并颁发SSO token。此后,用户访问任何已集成CAS的应用时,只需携带此token,无需再次输入登录信息。
**2. 登录与认证流程**
- 用户尝试访问一个受保护的资源。
- SSO Agent拦截请求,检查是否包含有效的会话标识符(token)。
- 如果token不存在,请求被转发至CAS进行身份验证。
- CAS生成会话token,通过cookie设定在用户浏览器上。
- 用户提交登录信息,CAS向认证提供者验证信息的有效性。
- 成功验证后,用户获得认证状态,后续访问无需重复登录。
**3. 注销机制**
SSO同样提供统一的注销功能,当用户从SSO环境注销时,所有参与SSO的应用系统中的会话也会随之结束。然而,存在一种特殊情况:当用户从门户登录并访问某个应用后,如果门户会话过期但该应用的会话仍有效,用户可以继续使用该应用直至会话到期或重新登录门户。
#### 三、总结
SSO的实施极大地提升了用户的工作效率和体验,减少了因频繁登录而产生的安全风险。通过CAS这样的集中认证服务,税务行业的应用整合得以顺利进行,实现了跨系统、跨平台的无缝访问。然而,SSO的实现并非没有挑战,它需要对现有应用进行一定程度的改造,以适应SSO环境下的身份验证和权限管理机制,同时确保系统的整体稳定性和安全性。