我正在尝试在我的项目中实施graphql-php
的授权。我们的想法是建立一个用户访问数组,在执行查询之前,我可以为每个用户组设置对特定查询和突变的访问权限,并在graphql控制器中实现check-access方法。
一种方法是自己解析请求,但我想知道是否有人知道如何访问查询的完整路径,正如我已经看到它显示在https://webonyx.github.io/graphql-php/error-handling/
<?php
[
'message' => 'My reported error',
'category' => 'businessLogic',
'locations' => [
['line' => 10, 'column' => 2]
],
'path' => [
'path',
'to',
'fieldWithException'
]
];
答案 0 :(得分:0)
可以通过每个解析器函数获取的ResolveInfo
对象在解析器中访问该路径。文档没有显示,但每个解析器的第四个参数是ResolveInfo
(来自webonyx源$resolveFn($source, $args, $context, $info)
)。简单来说就是:
function ($root, $args, $context, $info) {
$path = $resolveInfo->path;
// your decisioning
}
你是否根据它做决定。