-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
组织领域模型定义 #1
Comments
组织内部关系用户关系
简单版本:
足够表达用于项目管理和人力资源领域的“汇报”关系。 复杂版本:
可以表达更通用的关系,但是可能过度建模。可从上述模型演进。 用户组关系
简单版本:
复杂版本:类似上面。 通用模型可能过度设计。
类似于上述from和to,只不过不再是ForeignKey,而是用UUID来标记User和UserGroup。 技术实现可考虑使用DAG有向无环图定义,如果我们假设只有上下级关系/父子关系。 使用一般图也可以,如果我们认为组织中的其他关系也要被建模。 |
使用场景服务端:
客户端:
两种方案的主要区别在于Department和Committee模型理解成跨服务的多态模型还是仅仅为关联模型,后者需要自己的UUID。 |
初步决定使用多态模型建模。在微服务系统里更容易使用同一个UUID做跨服务的操作。 Group这里允许用户自己定义Type,具体由定义方决定怎么使用。Department和Committee被当做type被注册,通过序列化类来实现API。前端直接调用IdAM的API或者调用HR的API都可以获得同样的结果。 |
请 @huangrihang 补充我们的讨论到此Issue。 |
Q1:同一个用户在相关的不同组织有不同的身份,是否意味着租户没隔离完全? 这个问题是跨组织同步用户信息的问题。 |
Q2:跨组织同步用户信息没问题,但是“每个Organization有自己的租户Tenant隔离资源”每个组织直接一个租户? |
组织和租户的对应关系方案1:一个组织对多个租户,对不同部门设置不同的租户权限,向上暴露租户。 方案2(个人推荐):一个组织对一个租户,组织及其子组织对不同租户有不同权限,从而实现跨租户访问。 方案3:嵌套租户,组织和嵌套对应。 |
在IdAM里,我们假设遵循多租户规范,把单租户看成多租户为1的特殊情况,即把C端系统作为B端系统的特殊情况。 因此量潮IdAM规范依赖量潮多租户规范。 |
Organization
的嵌套关系有两种:每个Organization有自己的租户Tenant隔离资源。
OrganizationUser
组织用户。用户在组织内的唯一身份。同一个用户在相关的不同组织的身份,可以采取的设计方式:
OrganizationUserGroup
组织用户组。比如部门Department、委员会Committee等。The text was updated successfully, but these errors were encountered: