联通元景万悟-多租户系统组织、角色、用户实现分析(一)
一个智能体开发平台中的多租户系统架构的设计分析
概要
联通最近开源的元景万悟作为央企首个开源的智能体开发平台,支持多租户、license友好并且基于golang开发,分析多租户系统组织、角色、用户之间关系以及设计思路。
平台源码网址:
https://github.com/UnicomAI/wanwu.git
基于Readme中一键部署,拉取镜像。
(1)分析创建、编辑、删除下级组织逻辑
在万悟多租户设计中,组织是角色、资源、数据等管理的基础,组织本身为树形层级结构。
系统
├── 一级组织
├── 一级组织
│ ├── 二级组织
│ └── ...
└── 一级组织
├── 二级组织
│ └── 三级组织
│ └── ...
└── 二级组织
└── ...
不同组织间数据隔离,无论上下级组织关系。
admin用户,系统组织下rag数据:

admin用户,子组织下rag数据:

创建组织
创建组织时,切到需要创建下级组织的组织,在设置-组织管理-组织 中新增组织。

在切换组织下拉列表即显示我们刚创建的下级组织。

编辑组织
支持对子组织进行编辑,修改组织名和备注。

删除组织
删除组织,会将该组织及其子组织全部删除。

组织作为角色、资源、数据的基础,删除时,会连带着删除用户的角色信息,权限信息以及其他配置的模型、rag、智能体等,请谨慎删除!
(2)分析创建、编辑、删除角色相关逻辑
在万悟的多租户设计中,角色是操作权限的载体。一个角色所拥有的权限是操作权限全集的子集;不同的角色根据需要对应不同的权限子集;一个角色属于一个组织,一个组织可以有多个角色;角色可以被动态创建/删除,角色对应的权限子集可以动态修改。
角色只能在非系统组织下进行操作,系统组织没有角色管理的权限。
创建角色
创建角色需要选择角色所拥有的权限范围。


编辑角色
编辑角色可以更改角色的角色名、菜单权限、备注信息。

删除角色
删除角色时,该角色对应的用户会失去原来的权限。


(3)分析创建、编辑、删除用户相关逻辑
创建用户
系统组织下没有创建用户的权限,需要切到子组织操作。


创建用户时除了必填信息以外,角色是作为可选项,如果不填角色,则默认是无权限的用户。
编辑用户
编辑用户除了用户名和密码以外均可以修改。

删除用户
在子组织中,删除用户只是将用户移除出当前组织,只有在系统中删除用户时,是直接从这个系统中移除。

总结
组织、角色、用户三者的关系是多租户系统中重要的组成部分。组织可以理解为角色和用户的载体或者基础,角色则是权限的载体,用户则是具体操作的实体。角色和用户相对独立,删除角色会清空对应所有用户的角色选项,删除用户并不影响角色。删除组织会删除组织内的角色信息,以及该组织下的所有数据,但是用户只是移除该组织,还可以被其他组织邀请。
更多推荐



所有评论(0)