【发布时间】:2018-02-09 00:39:40
【问题描述】:
在 Dan Schafer 的出色 "GraphQL at Facebook" talk from React Europe 中,他讨论了如何在业务层模型中集中授权以避免必须为通向授权节点的每条边复制授权逻辑的问题。
这适用于Todo.getById(1) 之类的东西,在我的情况下,它最终会在数据库中查询SELECT * from todos WHERE id=1,然后使用checkCanSee(resultFromDatabase) 验证授权。
但是,假设我的 todos 表现在包含来自多个用户的 100,000 个待办事项,纯粹在业务层执行授权变得不切实际,因为我需要获取每个待办事项,使用共享授权逻辑过滤结果然后切片执行分页。
我认为解决这个问题的唯一方法是让授权逻辑驻留在持久层本身是不是错了?
【问题讨论】:
标签: pagination authorization graphql