独立租户,统一底座:基于Vue3打造的JVS开源多租户框架设计与实现

在数字化浪潮下,各个业务部门或子公司各自为政,系统林立,数据无法互通,形成了一个个"信息孤岛";每开发一个新应用,都需要从零搭建用户体系、权限管理和基础设施,耗费大量重复成本。

在gitee上有一个开源的基础框架项目,它是基于多租户架构的统一数字化底座。JVS以独特的设计理念,将平台级与租户级能力完美融合,为不同规模、不同业务场景的企业带来前所未有的数字化体验。

JVS统一数字化底座支持多租户体系,所以底座的能力划分就包含两个层级的能力:平台级与租户级,如下图所示:

租户(Tenant): 解释"租户"可以是集团下的不同子公司、不同业务部门,或是外部不同的客户企业。每个租户在平台上是一个逻辑上完全隔离的空间。(对应图中的租户A、租户B、租户M),每个租户可以构建自己的应用。

平台,指为所有租户提供共用技术能力、运营支持和基础设施的核心层。核心特征是统一性、共享性、经济性。

主租户与子租户,系统在构建的时候,会默认创建一个 主租户(系统唯一),这个主租户可以看到平台相关的管理界面,主租户的管理员可以在 平台管理中创建子租户。

租户的管理功能如下图所示,包括基本的用户管理、角色管理、登录公告管理等、租户级别的应用管理(可以设置应用的logo、应用的名称等)、租户级别的会话管理、登录日志等、环境变量等基础设置,这里的管理 是每个租户都有相关的管理功能。

平台的管理功能如下图所示,包括租户的管理、平台上的基础应用的配置、基本的系统设置等等,这里的配置 只有主租户才有 管理功能。

多租户体系解释

我们先看个例子,什么是多租户,我们以钉钉举例,想象一下,有三家公司:

  • A公司(比如一家设计公司,有50名员工)
  • B公司(比如一家贸易公司,有200名员工)
  • C公司(比如一家初创公司,只有10名员工)

他们都使用了钉钉上面的客户管理(CRM)的系统,大家都在共享使用CRM这个系统,这个系统格式有 阿里钉钉团队开发运维的,但是A 公司里边的用户组织 与B公司里边的用户组织是完全独立的。 我们常见的SaaS应用都是属于多租户体系。

用户与租户

往往在使用过程中存在一个问题:用户是否可以在不同租户中切换?同样还是上面的例子,也就是公司A 雇佣了小张,同时公司B也雇佣了小张,那么小张可以在A 和 B公司之间切换,也就是在不同的身份间进行切换

JVS租户切换

JVS中是支持多租户的 ,也是支持用户在不同租户中切换,登录系统后,点击用户头像

系统会弹出用户中心的操作界面,如下图所示,用户可以点击不同的租户进行切换,以达到切换不同的身份的目的。

在线demo:https://frame.bctools.cn/

开源框架:https://gitee.com/software-minister/jvs

相关推荐
举个栗子。22 分钟前
DBX:20MB 驾驭 90+ 种数据库的极简开源数据库管理器
数据库·开源
sbjdhjd32 分钟前
PHP eval 型 RCE:flag 正则过滤与通配符绕过实操 | 01
安全·web安全·网络安全·开源·系统安全·php·网络攻击模型
举个栗子。34 分钟前
OpenMontage:首个开源的 Agent 化视频制作系统,用自然语言一键出品影片
开源·音视频
windliang43 分钟前
Agent Loop 的 while 循环什么时候开始不够用
人工智能·面试·开源
杉氧1 小时前
打破边界(一):实战编写 Android/iOS 原生模块 (Native Modules)
android·react native·前端框架
智码看视界1 小时前
Day66-开源模型vs闭源模型:技术决策框架
开源·私有化部署·开源模型·模型选型·gpu推理·闭源模型·决策框架
zttbee1 小时前
vue2的API大白话讲解
前端·vue.js·前端框架
code 小楊2 小时前
Agent间如何高效协作?深度拆解A2A(Agent-to-Agent)协议
人工智能·架构·开源
code 小楊3 小时前
腾讯开源 WeKnora 深度解析:RAG 问答 + ReAct Agent 推理 + 自动 Wiki 图谱,三位一体的企业级知识中台
前端·人工智能·开源·知识图谱
微擎应用市场3 小时前
开源赋能丨微擎面板(W7Panel)产品介绍说明
开源