
前面五篇我们讲了快速搭建、目录结构、CRUD、关联表、权限控制。今天说一个企业级系统的核心能力——多租户SaaS。如果你做过面向企业的项目一定遇到过这个问题一套系统要卖给不同的客户每个客户的数据要隔离。传统做法每个客户部署一套维护成本爆炸。SaaS 做法一套代码多个客户共用数据自动隔离。EasyAdminBlazor 的多租户能力只需要两步。一、两步开启多租户第一步安装扩展dotnetaddpackage EasyAdminBlazor.MultiTenant第二步在 Program.cs 中启用builder.AddEasyAdminBlazor(/* ... */).AddEasyAdminBlazorMultiTenant();完成。后台会自动出现「租户管理」菜单。二、添加租户进入「租户管理」→「添加租户」填写字段说明示例租户名称公司/客户名称A公司租户编码唯一标识company_a绑定域名该租户的访问域名a.yourdomain.com数据库连接该租户的数据库连接字符串数据库需提前创建Server...;DatabaseTenant_A;...保存后框架会自动在该数据库中创建所有表结构。三、通过域名自动识别租户用户访问a.yourdomain.com→ 框架根据域名自动切换到对应的租户数据库。不需要写任何代码。访问地址自动识别的租户使用的数据库a.yourdomain.comA公司Tenant_A数据库b.yourdomain.comB公司Tenant_B数据库yourdomain.com默认/管理端主数据库DNS 配置将所有域名都解析到同一台服务器即可。四、租户隔离效果同一套程序不同的域名自动切换到不同的数据库数据物理隔离场景租户AA公司租户BB公司访问地址a.yourdomain.comb.yourdomain.com使用的数据库Tenant_ATenant_B看到的数据A公司的客户、订单B公司的客户、订单租户A的管理员登录a.yourdomain.com看到的全是自己公司的数据。租户B的管理员登录b.yourdomain.com看到的全是自己公司的数据。数据物理隔离安全可靠。五、准备工作在添加租户之前需要提前完成创建数据库在数据库服务器中为每个租户创建独立的数据库配置域名将租户域名 DNS 解析到你的服务器准备连接字符串确保连接字符串中的数据库名称与实际创建的数据库一致六、为什么选择数据库隔离EasyAdminBlazor 采用独立数据库的隔离模式这是企业级 SaaS 的标准做法对比项数据库隔离本框架共享表数据安全✅ 物理隔离最安全❌ 同一个表容易误操作数据备份✅ 按租户独立备份❌ 需要一起备份恢复困难性能✅ 互不影响❌ 大租户可能影响小租户迁移✅ 可单独迁移❌ 迁移复杂七、总结你需要做的事框架自动做的事安装EasyAdminBlazor.MultiTenant自动创建租户管理界面提前创建好租户数据库—在后台添加租户名称、域名、连接字符串自动在指定数据库中创建表结构DNS 配置域名解析根据请求域名自动识别租户并切换数据库一套代码多个数据库服务千家客户。八、适用场景场景是否适合为多个客户提供 SaaS 服务✅ 完美适配企业内部多子公司独立管理✅ 完美适配每个客户需要独立备份/恢复✅ 天然支持数据安全要求高的行业金融/医疗✅ 物理隔离下一篇预告《EasyAdminBlazor 第七篇可视化代码生成器——点几下一个完整模块到手》文档https://easyadmim.wang-zhan.com.cn/doc源码https://gitee.com/gudufy/EasyAdminBlazorEasyAdminBlazor —— 两步开启多租户一套代码服务万家客户