我的系统有属于用户的案例。用户是部门的一部分。设置是用户可以访问属于与用户在同一部门的用户的所有案例。
问题是:如果我是 UserX 并且我是 DepartmentA 的一部分,并且还有属于同一部门的 UserY,还有 DepartmentB,以及仅属于 DepartmentB 的第三个 UserZ。像这样的查询允许 UserX 通过 UserY 访问 UserZ 案例:
query {
me {
id
name
department {
cases {
id
user {
id
name
department {
cases {
... ends up listing cases belonging to departments that the user should not have access to
}
}
}
}
}
}
}
所以我的问题是,我如何控制用户访问以仅返回他们有权访问的案例,无论在什么“上下文”中请求案例。我在 RESTful API 中要做的就是获取一个列表用户可以访问的允许 ID 并通过它进行过滤,但我不确定这是否是在 graphql 解决方案中处理的正确方法。
我真的希望我的问题有意义,并感谢您阅读它。