我已按照https://www.graph.cool/设置简介项目的步骤进行操作。在项目的权限部分,我可以查看和编辑权限,例如Posts
:
点击显示帖子的Everyone
Edit Data
行的行时,会出现对话框。在那里,我可以编辑权限,以便只有经过身份验证的用户才能编辑帖子:
但是,如何制定规则,以便用户只能修改自己的帖子,而不能编辑其他用户创建的帖子?
答案 0 :(得分:5)
你的问题是完美的时间:-)昨天Graphcool发布了一个基于GraphQL查询的新的高级权限系统,允许你根据数据中的关系声明任意权限规则。
将帖子所有者的UPDATE权限限制为一个简单的示例(下面的代码),但我建议您查看文档并开始考虑此功能如何帮助您实现更复杂的权限规则
限制帖子对作者的修改
query ($node_id: ID!, $user_id: ID!) {
SomePostExists(filter:{
id: $node_id,
author: {id: $user_id}
})
}
<强>文档强>
https://www.graph.cool/blog/2017-04-25-graphql-permission-queries-oolooch8oh/ https://www.graph.cool/docs/tutorials/authorization-content-management-system-miesho4goo/