# cas **Repository Path**: brenthub/cas ## Basic Information - **Project Name**: cas - **Description**: 简单CAS服务,专为应用对接联调使用 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CAS 单点登录服务 一个简单的中央认证服务 (Central Authentication Service) 实现,基于 Go 和 Gin 框架。 ## 功能特性 - 用户登录认证 - Ticket 生成和验证 - 支持 CAS 协议标准接口 - 基于 YAML 配置的用户管理 ## 项目结构 ``` cas/ ├── main.go # 程序入口 ├── config/ │ └── config.go # 配置加载 ├── handlers/ │ ├── login.go # 登录处理 │ └── validate.go # Ticket 验证 ├── models/ │ └── ticket.go # Ticket 模型 ├── templates/ │ └── login.html # 登录页面 ├── config.yaml # 配置文件 ├── Makefile # 构建脚本 └── README.md # 说明文档 ``` ## 快速开始 ### 环境要求 - Go 1.21+ ### 安装依赖 ```bash make deps ``` ### 配置 创建 `config.yaml` 配置文件: ```yaml server: host: "0.0.0.0" port: 8080 cas: ticket_ttl: 300 # Ticket 有效期 (秒) session_ttl: 3600 # Session 有效期 (秒) users: - username: "admin" displayName: "管理员" email: "admin@example.com" groupDisplayName: "管理组" - username: "user1" displayName: "用户 1" email: "user1@example.com" groupDisplayName: "普通用户" ``` ### 运行 ```bash # 直接运行 make run # 或构建后运行 make build ./cas-server ``` 服务将在 `http://localhost:8080` 启动 ## API 接口 ### 登录 - `GET /login?service={service_url}` - 显示登录页面 - `POST /login` - 处理登录请求 ### Ticket 验证 - `GET /validate?ticket={ticket}` - 验证 Ticket - `GET /serviceValidate?service={service}&ticket={ticket}` - CAS 2.0 服务验证 - `GET /p3/serviceValidate?service={service}&ticket={ticket}` - CAS 3.0 服务验证 ### 登出 - `GET /logout?service={service_url}` - 登出并重定向 ## Make 命令 | 命令 | 说明 | |------|------| | `make deps` | 安装依赖 | | `make build` | 构建二进制文件 | | `make run` | 运行服务 | | `make build-run` | 构建并运行 | | `make clean` | 清理构建文件 | | `make test` | 运行测试 | | `make fmt` | 格式化代码 | | `make lint` | 代码检查 | ## 许可证 MIT License