Original
2026-09-29
717
EasyAdminBlazor 多租户源码解析:为什么采用独立数据库隔离?
EasyAdminBlazor的多租户实现采用独立数据库隔离,而非 TenantId 行级方案。核心链路四步走:按请求 Host 在主库 SysTenant 表匹配租户,每请求只解析一次;AdminContext.Orm 根据解析结果返回主库或租户库的 FreeSql 实例;数据库物理隔离,文件按租户编码分目录,缓存加租户前缀;租户编码必须过白名单正则,防止路径穿越与注入。独立库的代价是新租户建表必须自动化,这正是 AutoSyncStructure 的用武之地。
Read More