2.4 KiB
2.4 KiB
IAM Service 模块指引
职责边界
- 负责租户、用户、成员关系、企业资料与审核、角色、权限、数据范围、个人资料和授权快照。
- 账号凭据与 Token 属于
auth/;资质文件内容属于file/。IAM 只维护业务元数据和跨服务协作。
功能快速索引
| 功能 | Controller | Service / 数据入口 |
|---|---|---|
| 商户个人与企业资料 | controller/MerchantTenantController.java |
PersonalProfileService.java、TenantService.java |
| 商户成员增改、启停、重置密码 | MerchantTenantController.java |
MemberService.java,账号协作看 client/AuthAccountClient.java |
| 平台创建企业与入驻审核 | controller/PlatformTenantController.java |
MerchantOnboardingService.java、TenantService.java |
| 平台内部用户、企业地址与资质元数据 | controller/ProfileResourceController.java |
ProfileResourceService.java、ProfileResourceRepository.java |
| 角色、权限、成员角色、角色授权 | controller/RbacController.java |
RbacService.java、RbacRepository.java |
| Auth/Order 内部授权与资格查询 | InternalAuthorizationController.java、InternalTenantController.java |
AuthorizationSnapshotService.java、TenantGuard.java |
| DTO | src/main/java/com/baiyue/iam/dto/ |
按 Authorization、Member、Onboarding、Profile、Rbac、Tenant 分类 |
| 持久化 | entity/、mapper/、repository/ |
租户、成员、角色、权限、地址、资质与审核模型 |
| 数据库 | src/main/resources/db/ |
主结构 iam.sql,一期与 RBAC 增量脚本同目录 |
| OpenAPI 与说明 | src/main/resources/openapi/iam-v1.yaml、README-IAM.md |
修改接口契约时同步更新 |
| 测试 | src/test/java/com/baiyue/iam/ |
Controller 路由、授权快照、成员、资料和 RBAC 测试 |
修改与验证
tenant_id是商户数据隔离核心;平台端与商户端访问域、角色和权限不可混用。- 按钮隐藏不能代替后端 permission code / permissionIds 校验;权限快照变化需同步检查 Auth 与 Gateway Claim 消费。
- 成员账号操作跨 IAM/Auth,保持幂等与补偿;资质上传跨 IAM/File,IAM 不保存文件内容。
- SQL 增量保持可重复部署顺序,修改 Entity 时同步检查 Mapper、Repository、DTO 与种子数据。
- 从父目录运行
mvn -pl iam -am test,再按影响执行一期认证/IAM API 回归。