1.8 KiB
1.8 KiB
测试报告
性能测试
| 测试项 | 性能指标 (v1.1.6) | 备注 |
|---|---|---|
| BenchmarkTableSet | ~760,000 ns/op | 包含 Schema 验证、身份注入、1-RTT 写入及自动 ID 生成 |
| 鉴权开销 (RTT) | 1-RTT | 核心鉴权逻辑已合并至主查询/写入 SQL,无额外网络往返 |
| 内存展平查询 | O(1) |
字段有效性验证与策略检索均通过内存缓存实现,无递归开销 |
覆盖场景
- 零开销 ABAC 鉴权引擎
- 验证了在开启
enableRLS时,系统自动注入creator = ? OR (conditions)。 - 验证了
checkAuth在单条操作(Get/Remove)时的 1-RTT 性能闭环。
- 验证了在开启
- 多级权限继承与环状检测
- 测试通过了
Manager -> Clerk的权限继承,Manager 自动获得 Clerk 的所有表级访问权。 - 验证了循环继承(A -> B -> A)场景下系统依然能保持稳定运行,不发生内存溢出或死锁。
- 测试通过了
- 自主授权体系
- 验证了普通用户(非
_system)只有在对目标表拥有full权限时,才能通过SetPolicy为第三方授权。 - 验证了
inherit类型的策略被严格限制在SystemUserID权限下操作。
- 验证了普通用户(非
- 结构化数据操作与隔离
- 测试通过了包含和排除 system userID 时的增删改查。
Auth方法通过携带不同 userID 后实现了creator的数据隔离限制。
- 生命周期 Hook 触发机制
OnUpdatingRow触发并允许修改将要入库的行数据。OnUpdatedRows在更新结束后被触发。OnRemovedRows在成功移除后被触发返回对应的 ID 集合。
- SQL注入黑盒测试
- Table 名称注入被验证并阻止。
- Field 查询字段注入被验证并阻止。
- Join On 条件验证被拦截。
- OrderBy 查询的语句结构注入被拦截。