ADR-002:基础平台持久化、会话与授权适配¶
Date¶
2026-10-29
Status¶
Accepted。2026-10-29 用户在收到技术设计包与拟议 ADR 后回复“好的,请你继续。”,确认该技术方案并进入实现。本次确认独立于前轮需求与框架的批准。
Context¶
正式鉴权和后台规格要求注册唯一性、即时撤权、并发最后管理员保护及 30 分钟业务空闲/8 小时绝对期限。现有技术基线为 Spring Boot 3.x / Spring Security;本机无 Docker,后端和数据库尚未创建。
Decision¶
采用 Spring Boot 3.5.16 + JDK 21,采用 PostgreSQL 18.x、Spring Data JPA、Flyway、Spring Session JDBC,以及 Spring Security 自带 PBKDF2 密码编码与 HttpSession CSRF。具体依赖按 Boot BOM 管理,不另建身份服务或通用权限引擎。
撤权使用账户认证版本/角色授权版本校验;会话期限由框架会话上的薄业务策略补齐;低频管理变更使用同数据库治理锁和资源版本保护跨行不变量。选择理由与至少两个替代方案见research。
Consequences¶
复用一个 PostgreSQL 服务承载业务和会话,避免增加 Redis。必须编写并测试业务策略、CSRF 接入、密码边界、事务与并发规则,不能以框架自动配置代替验收。需要可用 PostgreSQL/CI 环境,迁移和框架 session schema 统一受 Flyway 管理。
Reverts¶
批准后若更换数据库、会话或密码方案,新增 ADR 并同步契约、任务和测试;本次采用范围不包含读取或接续 GitLab group 中的任何旧仓库。