gpt4 book ai didi

graphql - Hasura:允许用户不为自己的帖子投票

转载 作者:行者123 更新时间:2023-12-03 14:41:34 25 4
gpt4 key购买 nike

我有三个型号用户 , 发帖 , 投票

schema


我尝试创建一个基于角色的授权,作者(创建帖子/博客的用户)不能为他们自己的帖子/博客投票。为了识别用户,我使用了 Hasura session 变量 X-Hasura-User-Id .为投票表配置(行插入)权限规则,

picture


错误:
{
"errors": [
{
"extensions": {
"path": "$.selectionSet.insert_Vote_one.args.object",
"code": "permission-error"
},
"message": "Check constraint violation. insert check constraint failed"
}
]
}
但是,当作者和其他用户尝试对帖子/博客进行投票时,这会违反约束。如何使用权限规则解决后一种情况的问题?
更新
身份验证设置
我使用我的身份验证服务器(express)之一创建包含 user.id 的用户和 access_token作为 Hasura session 变量 X-Hasura-User-Id .
然后我使用这个 access_token 来维护基于角色的授权:
access_token

最佳答案

看来你要制定以下规则:X-Hasura-User-Id != Vote.blog.User_id (假设 FK blog 的 hasura 关系称为 Vote.Blog_id )。
你正在做的是确保 Vote.User_id != X-Hasura-User-Id .我假设提交投票的用户将始终拥有与他们相同的 ID。这将始终导致违反权限约束。
除非我误解了什么......
如果这有帮助,请告诉我们。

关于graphql - Hasura:允许用户不为自己的帖子投票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65241210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com