假设我有两个用户,A和B,分别为ID 1和2。此外,我们假设我配置了两个数据源:X和Y。
如何将用户A发出的所有查询与数据源X隔离,并且对于某些给定的远程方法,如何将B到Y隔离?例如,假设A想通过API为某些模型运行'find' - 我怎样才能确保A得到的唯一结果是那些可通过数据源X访问的结果?
答案 0 :(得分:1)
我不确定我完全明白为什么你要根据当前用户决定数据源,但无论如何,我不确定你能用LoopBack做到这一点......至少,不是容易。 LoopBack是一个模型驱动的框架 - 一切都源于模型。因此,所有API端点都通过模型(尽管您可以设置自定义路由)。每个模型都连接到一个数据源。
因此,如果我点击/api/Widget/13
,则无法在两个数据源之间进行findById()
调用切换,它将始终触及模型所连接的任何数据源。
好的,所有人都说,我看到的解决方案是:
find
等。在任何一种情况下,它都不是直截了当的,也不是内置的。仅供参考,如果您需要获取数据源,可以从LoopBack应用程序对象访问它:MyModel.app.datasources.ds1