Authentication 在GRANDstack中设置用户级授权

Authentication 在GRANDstack中设置用户级授权,authentication,neo4j,graphql,authorization,grandstack,Authentication,Neo4j,Graphql,Authorization,Grandstack,我创建了一个基于GRANDstack的问答平台(类似于stackoverflow),使用回购协议进行授权。这允许我们在角色级别或范围级别检查身份验证、授权 在这个平台上,用户可以回答一个问题,并可以将答案保存为草稿。只要答案没有发布,它就应该被用户自己看到,而不是被其他人看到。但是,其他用户应看到所有其他最终答案 如何创建这种类型的用户级授权?它应提供以下结果: 假设一个问题Q的idsomeid。目前已最终确定答案A1和A2。如果某个随机用户U1执行查询: query: { Question

我创建了一个基于GRANDstack的问答平台(类似于stackoverflow),使用回购协议进行授权。这允许我们在角色级别或范围级别检查身份验证、授权

在这个平台上,用户可以回答一个问题,并可以将答案保存为草稿。只要答案没有发布,它就应该被用户自己看到,而不是被其他人看到。但是,其他用户应看到所有其他最终答案

如何创建这种类型的用户级授权?它应提供以下结果:

假设一个问题Q的id
someid
。目前已最终确定答案A1和A2。如果某个随机用户U1执行查询:

query: {
  Question(id:someid){
    answers {
      Answer{  
        id,
        text,
        is_draft
      }
    }
  }
}
他/她应将A1和A2视为答案。但是,如果另一个用户U2目前对此问题有一个草稿答案,请说A3。然后他/她应检索A1、A2和A3


有没有通用的解决方案?如果没有,那么建议采用什么方法来编程此功能?

为了解决上述问题,我修改了
graphql auth指令
包,并创建了自己的,请参阅。这允许您创建我所称的“条件权限”。为了更好地理解这个实现,我建议您看看我写的关于它的文章