鼎味肉市DESIGN ATELIER
← 资料目录docs/architecture/07-bounded-context/bc-01-identity.md阅读原文

BC-01|组织、身份与授权(identity)

状态:working-draft;本次边界建议,未批准为完整新基线。
Design=draft;Contract=not-defined-here;Implementation=not-assessed;Verification=document-review-only。
上游:SD-10(仍为候选占位)
输入:既有模块设计(历史材料保留在 docs_bak/)
编写责任:主会话;业务决策 / 长期维护责任人:待指定。日期:2026-09-18。

1. 需要什么,它是什么

让所有参与者以可验证身份和明确职责访问同一系统。

统一语言:Principal 是被授权主体;Person 是自然人;Account 是登录身份载体;Role 是权限集合;Scope 是适用范围。客户资格、工作任务与登录状态不能相互代替。

2. 拥有与不拥有

拥有: 组织及服务区域版本、账号与外部身份绑定、服务主体、会话、岗位指派、角色授权、授权策略和安全决策记录。

不拥有: Customer 的客户关系与同意;各业务对象的状态、归属关系及允许迁移;设备不是主体。

这里列出事实族和职责,不直接定义数据库表、聚合事务范围或最终接口名称;详细模型须在下一层继续验证。

3. 谁参与,怎样使用

员工管理员通过后台管理组织和职责;顾客、员工通过各端认证;外部系统与 Worker 使用独立服务主体;所有 BC 消费统一授权决策。

典型场景:角色或职责变更 → 授权版本更新 → 各端刷新有效能力;对象详情由业务 Owner 提供资源关系与动作条件,统一决策后返回允许动作;执行命令时再次校验。

4. 如何与其他上下文协作

提供 Principal、范围和授权解释;接收业务 Owner 提供的资源关系与业务条件,不通过跨库查询猜测所有对象归属。外部身份协议在适配边界转换,OIDC 产品名称不属于领域模型。

调用方向、信息方向、流程协调者和失败责任统一见 CONTEXT-MAP;事实边界及混淆项见 OWNERSHIP。不使用共享可变实体或跨 Owner 写表。

5. 不变量、权限与一致性

身份真实性、入口权限、对象范围及字段用途都必须通过;导航权限不放行写命令;Worker 不继承无期限管理员权力。

所有入口遵循 统一授权接缝。本上下文负责自己的资源关系和业务动作条件,不能仅凭客户端提交的角色或对象归属放行。

6. 失败、并发与恢复

撤权后的缓存和排队任务必须重新校验;权限服务不可用时敏感动作拒绝或回源,不能默认放行;公开读策略与缓存有效期后续契约明确。

部署和数据库共用不构成跨上下文原子性承诺。需要立即成立的约束在对应事实 Owner 内执行;跨域步骤记录意图、版本、结果与恢复进度。

7. 边界取舍与可能推翻结论的证据

保持独立于 Customer,组织、会话与授权暂保留在同一上下文的内部责任区;若组织管理出现独立人员/法人主数据治理及不同语言,再评估拆分 Organization。

反证检查:测试已登录但岗位撤销、跨业务单元读取、服务主体冒用用户、合法角色操作非法状态。发现业务状态被复制进角色配置即推翻当前实现方式。

上述是设计反例清单,尚未执行产品测试。拆合讨论及重开条件见 BOUNDARY-DECISIONS。

8. 未决事项与后续交付

权限目录、职责分离、缓存失效时限、字段策略及实际策略维护人待明确。

先核对本页业务范围及上下文边界,再细化模型、不变量、状态、命令/查询/事件和授权契约;最后派生完整业务增量 REQ。不得据本稿直接锁定开发接口。当前未决项统一归入DECISIONS对应D项;REVIEW仅保留历史审查及Q项来源,不另作活动决策台账。