设置待办事项表格权限
转到todos表下的“权限”选项卡,以添加相关权限。
插入权限
我们将允许登录的用户创建新的待办事项条目,仅阐述 is_public 和标题列。
- 在输入新角色文本框中,键入“用户”
- 单击“插入”权限的“编辑”(铅笔)图标。 这会引出下面的部分,支持配置自定义检查和允许列。
- 在自定义检查中,请选择以下条件
{"user_id":{"_eq":"X-Hasura-User-Id"}}

现在选择列插入权限下的title和is_public列。

最后在列预设下,选择从from session variable映射至X-HASURA-USER-ID的user_id。
注:会话变量是自每条请求的身份验证服务返回的键值对。 当用户发出请求时,会话令牌映射至一个USER-ID。该USER-ID可用在权限中,以表明只有当user_id列的值与会话变量USER-ID的值相等时,才允许插入到表中。
单击Save Permissions。
选择权限
如果一个待办事项条目是公共的或用户是已登录用户,我们就允许用户查看该待办事项条目。
现在单击“选择”权限的“编辑”图标。 在自定义检查中,请选择以下条件
{"_or":[{"is_public":{"_eq":true}},{"user_id":{"_eq":"X-Hasura-User-Id"}}]}

在列选择权限下,选择所有列。

单击Save Permissions
更新权限
我们将仅允许用户更新 is_completed 列。
现在单击“更新”权限的“编辑”图标。 在预更新自定义检查中,请选择With same custom checks as insert。
并且在列更新权限下,选择is_completed列。

完成后请单击Save Permissions。
删除权限
仅允许登录用户删除待办事项条目。
最后对于删除权限,请选择自定义检查下的With same custom checks as insert, update。

单击Save Permissions,就完成了todos表的访问控制设置。
Build apps and APIs 10x faster
Built-in authorization and caching
8x more performant than hand-rolled APIs





