独立租户,统一底座:基于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

相关推荐
1024奇点7 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
冬奇Lab10 小时前
一天一个开源项目(第252篇):Lightpanda —— 用 Zig 从零写的 AI 专用无头浏览器,内存省 16 倍、速度快 9 倍
人工智能·开源·资讯
IT召唤狮10 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
在努力的前端小白10 小时前
基于FastAPI+LangChain+LangGraph+Agent+多模态的AI Agent 有渔渔具网站
人工智能·langchain·vue·fastapi
锋行天下11 小时前
Langgraph-cli 本地构建失败,改用服务器docker构建的流程
人工智能·前端框架·全栈
wflynn12 小时前
GitHub 日榜趋势速报 | 2026-11-02
开源·github
时早玖沐12 小时前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
GPUStack13 小时前
官方说不支持?但我还是用 GPUStack 在 DGX Spark 上跑通了 Qwen-Image-2.1
开源·gpu
细水长流64513 小时前
异常工单自动聚类:同类问题一屏看清
低代码
SL_staff13 小时前
HR系统对接钉钉考勤总失败?根源在于缺乏业务语义级逻辑中枢
java·开源·全栈