如何在 Loopback 中实现多租户
How To Implement Multi-Tenant In Loopback
我们正在为我们的 REST 端点使用 Loopback,并且需要实现多租户功能。我们所有的桌子都有 'tenantid'。我们有自己的用户模型,不使用 Loopback 用户模型。有没有办法捕获所有入站请求并即时验证或更新租户 ID?目标是确保所有 'get' 请求都附加了类似 'filter[where][tenantid]=tenantid' 的内容,并且所有面向保存的请求都正确填充了 'tenantid'。
解决方案是在 server.js 中使用 'parse' middleware 并即时修改所有请求的过滤器:
app.middleware('parse', parse)
function parse(req, res, next) {
// Add an 'and' filter that specifies the tenant in all requests.
req.query.filter.where.and.push({ tenantid: 283 });
}
我们正在为我们的 REST 端点使用 Loopback,并且需要实现多租户功能。我们所有的桌子都有 'tenantid'。我们有自己的用户模型,不使用 Loopback 用户模型。有没有办法捕获所有入站请求并即时验证或更新租户 ID?目标是确保所有 'get' 请求都附加了类似 'filter[where][tenantid]=tenantid' 的内容,并且所有面向保存的请求都正确填充了 'tenantid'。
解决方案是在 server.js 中使用 'parse' middleware 并即时修改所有请求的过滤器:
app.middleware('parse', parse)
function parse(req, res, next) {
// Add an 'and' filter that specifies the tenant in all requests.
req.query.filter.where.and.push({ tenantid: 283 });
}