Beangle IDS
Beangle IDS(Identity Service)是一个基于 CAS(Central Authentication Service)协议的身份认证服务,提供统一的单点登录能力。
核心功能
| 模块 | 描述 |
|---|---|
| CAS Server | 实现 CAS 协议的认证服务器 |
| Ticket Management | Ticket 的生成、验证和管理 |
| Credential Validation | 凭证验证,支持多种认证方式 |
| Session Management | 用户会话管理 |
| Multi-factor Authentication | 支持多因素认证 |
架构特点
- 标准协议支持:完整支持 CAS 3.0 协议
- 高可用性:支持分布式部署和 Ticket 缓存
- 灵活扩展:支持多种凭证验证方式
- 安全可靠:内置 CSRF 防护、登录重试限制
核心组件
认证流程
- 用户访问:用户访问受保护的应用
- 重定向认证:应用重定向到 CAS 登录页面
- 凭证验证:用户输入用户名密码进行验证
- 发放 Ticket:验证成功后发放 Service Ticket
- 验证 Ticket:应用携带 Ticket 到 CAS 验证
- 返回用户信息:CAS 返回用户身份信息
Ticket 类型
| 类型 | 描述 | 有效期 |
|---|---|---|
| TGT | Ticket Granting Ticket,用于获取 Service Ticket | 较长(默认几小时) |
| ST | Service Ticket,用于访问特定服务 | 单次使用 |
| PGT | Proxy Granting Ticket,用于代理认证 | 较长 |
支持的认证方式
- 用户名密码认证:标准的用户名密码验证
- 短信验证码:通过短信进行二次验证
- LDAP 认证:集成 LDAP 目录服务
- 多因素认证:支持多种认证方式组合
依赖关系
- Commons:核心工具库
- Security:安全框架
- Web:Web 基础
- Cache:缓存支持
典型部署架构
┌─────────────────────────────────────────────────────────────────┐
│ CAS Server │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ Login Module │ │ Ticket │ │ Credential │ │
│ │ │ │ Registry │ │ Validation │ │
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ 认证协议端点 │
│ /login /logout /validate /serviceValidate /proxyValidate │
└─────────────────────────────────────────────────────────────────┘
▲ │
│ │
用户浏览器 客户端应用