当涉及到两个表时,如何使 Hasura 的权限功能起作用?

How to make Hasura's permissions feature work when two tables are involved?

使用 Hasura GraphQL 引擎,给出下图:

如何限制 select 对 table company 的操作只允许 select 公司记录与 table user 上的用户关联(fk)?

当然,我正在使用 x-hasura-user-id 会话变量。但是如何在查看 user table 时引用 'current' company_id

这是一个简单的问题,但是知道了这一点,我以后就可以进行更复杂的验证了。

好的,我做到了。

我使用 X-Hasura-User-IdX-Hasura-Default-Role 会话变量,然后每个请求都返回所有记录,这不是我想要做的。经过几个小时的研究,我发现我需要使用 X-Hasura-Role 而不是 X-Hasura-Default-Role.

这解决了我的问题,希望对遇到同样问题的人有用。