34 lines
2.1 KiB
Markdown
34 lines
2.1 KiB
Markdown
# IAM Service 模块指引
|
||
|
||
## 职责与边界
|
||
|
||
- 负责客户主档、成员、企业资料/审核、平台用户、角色权限、数据范围和授权快照。
|
||
- 账号凭据/Token 属于 `auth/`,文件内容属于 `file/`;资质登记只接收 File 的内部元数据调用。
|
||
- 当前仅“平台—客户”两级:`iam_tenant.id=0` 为平台作用域,`id>0` 为客户主档;不得新增真实租户层。
|
||
|
||
## 模块入口
|
||
|
||
| 目标 | 入口 |
|
||
|---|---|
|
||
| 客户资料/审核 | `controller/PlatformTenantController.java`、`service/TenantService.java` |
|
||
| 商户成员与个人资料 | `controller/MerchantTenantController.java`、`service/MemberService.java`、`service/PersonalProfileService.java` |
|
||
| 平台用户 | `controller/PlatformUserManagementController.java`、`service/PlatformUserManagementService.java` |
|
||
| 角色/权限/RBAC | `controller/RbacController.java`、`service/RbacService.java` |
|
||
| 授权快照/内部资格 | `controller/AuthorizationController.java`、`InternalAuthorizationController.java`、`service/AuthorizationSnapshotService.java` |
|
||
| File 资质元数据协作 | `controller/InternalTenantController.java`、`service/ProfileResourceService.java`、`client/AuthAccountClient.java` |
|
||
| DTO/持久化 | `dto/`、`entity/`、`mapper/`、`repository/` |
|
||
| SQL/OpenAPI | `src/main/resources/db/`、`src/main/resources/openapi/iam-v1.yaml` |
|
||
| 测试/验证 | `src/test/java/com/baiyue/iam/`;`mvn -pl iam -am test` |
|
||
|
||
## 修改约束
|
||
|
||
- 所有客户查询按 `tenant_id` 过滤;平台用户只能 `tenant_id=0`。必填资质审核通过才具备下单资格。
|
||
- 成员/账号跨 IAM/Auth 保持幂等补偿;资质跨 IAM/File 不保存文件内容。
|
||
- 权限资源 code/type 不可变;按钮隐藏不能替代后端权限校验。
|
||
|
||
## 分期导航
|
||
|
||
- 一期:客户建档审核、平台用户与 RBAC、企业资料;先读 `../../docs/一期/README.md`。
|
||
- 二期:仅提供客户资格/授权快照,不承载入库或计费状态;先读 `../../docs/二期/README.md`。
|
||
- 三期:NO-GO,不提前增加出仓角色/PDA 权限;先读 `../../docs/三期/三期需求确认表.md`。
|