根据用户政策,微服务中的结果过滤

时间:2019-11-06 16:29:49

标签: filtering resultset policy

我正在微服务中实施结果过滤。 有带有单独数据库的Manager( id,policy_id ),Client( id,区域),Document( id,client_id )微服务。

我希望具有特定 policy_id 的经理可以查看属于居住在特定区域中的客户的文档的分页结果。

示例:

Manager(z,"view_europe_policy")
Client(1,Europe), Client(2,America)
Document(x,1),Document(y,2)
GET /documents?page=1
result: Document(x,1)

我无法获取所有文档,然后无法从客户端数据库获取区域,因为这种方法不支持分页并且性能低(N + 1)。

也无法将区域复制到文档数据库。 尚未找到公理学提供的解决方案。

如何实施这种过滤?

0 个答案:

没有答案