用途:在 ddd4j-javalin 项目中集成认证与鉴权,覆盖 Sa-Token、Apache Shiro、OIDC/Keycloak、SubjectProvider、路由保护、401/403 语义以及请求级清理。适用于 6.7.x、7.1.x、7.2.x 维护线。
主要能力:实现 SubjectProvider 并将框架身份映射为 AuthPrincipal,显式定义角色与权限规则;以明确的 401/403 语义配置路由保护,而非依赖框架默认行为;在请求开始时绑定 Subject,并在成功、异常和异步终止状态下清理;每个服务只选择一个主认证框架并注册为生命周期参与者。
使用方式:先用 ddd4j-javalin-version-selection 确认维护线,再在当前检出中定位认证模块、SubjectProvider 实现与相关测试;对比 Sa-Token、Shiro、OIDC/Keycloak 与部署模型(单实例、集群、已有 IdP)后选定一个主 SubjectProvider 并记录理由;用真实 HTTP 请求验证匿名、有效、过期、角色不足和登出路径,并输出框架选择、注册点、各层证据状态与剩余风险。
适用场景:Javalin 6/7 上的认证适配、生命周期与配置边界、三条维护线差异分析。
限制:不处理非认证路由行为(用 ddd4j-javalin-web)、生命周期注册(用 ddd4j-javalin-runtime)、核心 Subject/ThreadContext SPI(用 ddd4j-core)、Spring Boot(用 ddd4j-boot-auth)或 Quarkus(用 ddd4j-quarkus-auth);不适用于无 ddd4j 的普通 Javalin 应用。禁止直接复制 Javalin 6 代码到 7,禁止用冒烟测试替代真实行为验证,禁止未经授权发布或变更生产。绝不输出令牌、Cookie、OIDC 密钥或凭据。输入缺失时输出 missing 提示并继续只读检查。