JeecgBoot开发多租户SAAS查询数据或者对外开发接口的时候会自动进行数据隔离

1、登录状态的情况下

从登录状态当中获取最新的tenantId

LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();

String tenantId = loginUser.getTenantId();

从header当中获取

String tenantId = req.getHeader("tenant-id");

在查询数据库的Service和Mapper之前设置

TenantContext.setTenant(tenantId);
xxService.list();
TenantContext.setTenant(tenantId);
xxMapper.list();

2、直接可以从前端的传入的参数当中获取tenantId

TenantContext.setTenant(tenantId);
xxService.list();
TenantContext.setTenant(tenantId);
xxMapper.list();
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐