基础-我需要根据不同表中的某些变量从列中返回数据(如果不允许访问,我将返回列或null)
我已经通过postgres中的自定义函数完成了我需要的操作,但是问题在于Hasura函数与实现SETOF的表/视图共享权限。因此,我必须允许访问表本身,因此我的函数中的权限是毫无意义的,因为任何人都可以直接通过直接查询原始表来访问数据。
我当前的思路是,要做我需要的唯一方法是创建一个远程模式并删除对原始表的访问。
但是也许有一种方法可以不将某些表作为graphql查询公开?如果我可以做这样的事情-我只需要隐藏表并只公开一个函数即可。
另一个选项是允许查询选项。
可以限制查询。看来有些棘手,您需要每个查询都应有一个准确的副本(字段的顺序正确),但是如果这样做,则只接受您明确列入白名单的查询。 More info in the docs。
我对postgres权限不够熟悉,无法提供更好的主意...