【发布时间】:2020-06-08 16:43:39
【问题描述】:
我正在创建一个 web 应用程序,允许用户在几个不同的房间进行交流,我希望我可以在这个项目中使用 GraphQL 和 Hasura。将有管理员可以创建/删除房间(wow-room、lol-Room、pubg-room),创建/删除用户,以及创建/删除权限(admin、wow、lol、pubg)以及为用户分配角色。用户将能够看到他们有权访问的任何房间。
问题是,我想确保只有管理员才能创建/删除这些房间/用户/权限,并且只有正确的用户才能看到这些房间。有没有办法让 Hasura 检查给定用户的权限并返回适当的数据?我相信我需要编写一个自定义解析器,但不确定如何完成或者它是否是正确的解决方案。
【问题讨论】:
-
Hasura 支持细粒度的访问控制。查看授权文档:docs.hasura.io/1.0/graphql/manual/auth/authorization/index.html
-
我的印象是不支持动态角色。由于管理员可以创建房间并在房间周围创建各种角色,因此这可能不适用。但我会再读一遍,看看它是否能解决我的问题。
标签: permissions graphql hasura