1. 课程导论与目标
1.1 什么是 Go 权限审计网关
Go 权限审计网关是一个基于 Go 语言构建的中间层服务,位于客户端与后端资源之间,统一拦截所有 API 请求,执行身份验证、权限校验与操作审计。它不仅是访问控制的“守门员”,更是安全事件的“黑匣子”。
| 维度 | 说明 |
|---|---|
| 身份验证 | 校验 Token、Session、证书等凭证的有效性 |
| 权限校验 | 基于 RBAC/ABAC 模型判断用户是否具备操作资源的权限 |
| 操作审计 | 记录请求来源、时间、操作内容、结果等全链路日志 |
| 安全防护 | 拦截 SQL 注入、越权访问、重放攻击等恶意行为 |
课程定位:本课程不讲解基础 Go 语法,而是聚焦于网关核心模块的工程化实现与冒烟回归测试体系。
1.2 冒烟回归测试的目的
冒烟回归测试(Smoke Regression Test)是每次代码变更后,对系统最核心、最易出故障的功能路径进行快速验证的测试策略。其核心目的包括:
- 快速反馈:在 5 分钟内发现阻断性缺陷,避免将问题带入后续集成测试阶段。
- 覆盖关键路径:聚焦于登录鉴权、Token 校验、权限拦截、审计日志写入等高风险链路。
- 回归保障:确保新代码未破坏已有核心功能,降低版本发布风险。
- 自动化执行:集成到 CI/CD 流水线,每次提交自动触发,减少人工回归成本。
常见误区:冒烟测试不是全量回归测试。它只覆盖“如果这里坏了,系统就无法使用”的致命路径,用例数量通常控制在 20~50 条以内。
1.3 课程整体大纲
本课程共 30 章,分为四大模块:
| 模块 | 章节范围 | 核心内容 |
|---|---|---|
| 基础篇 | 第 1~5 章 | 网关架构、权限模型、审计模型、测试环境搭建 |
| 核心实现篇 | 第 6~15 章 | Token 校验、RBAC 引擎、审计日志、中间件链、错误处理 |
| 冒烟测试篇 | 第 16~25 章 | 测试框架选型、用例设计、Mock 服务、断言策略、CI 集成 |
| 进阶实战篇 | 第 26~30 章 | 性能压测、安全扫描、故障注入、生产级部署 |
1.4 学习目标
完成本课程后,你将具备以下能力:
- 独立设计并实现一个 Go 权限审计网关的核心模块。
- 编写高质量的冒烟回归测试用例,覆盖鉴权、权限、审计三大核心链路。
- 将冒烟测试集成到 GitHub Actions / GitLab CI 流水线中。
- 通过测试结果快速定位网关代码中的安全漏洞与逻辑缺陷。
1.5 网关核心架构概览
下图展示了 Go 权限审计网关的内部模块划分与请求处理流程:
1.6 冒烟回归测试流程
下图展示了冒烟回归测试在 CI/CD 流水线中的触发与执行流程:
1.7 课程前置准备
开始学习前,请确保已具备以下环境与知识:
- Go 1.21+ 开发环境
- Docker & Docker Compose(用于搭建测试依赖服务)
- 基本的 HTTP 与 RESTful API 知识
- Git 版本控制基础操作
课程代码仓库:每章均提供可运行的示例代码,位于
chapters/chapter-XX/ 目录下,可直接 go run 启动。