[Day 20] - 『转职工作的Lessons learned』 - GraphQL (Hasura) - 身份级别权限设定

先前的GraphQL(Hasura)-Webhook身份验证有介绍到可以使用Webhook做身份级别的确认,那麽相对应在Hasura後台应该怎麽去做设定呢?

在Hasura後台,我们可以个别针对每一张Table去做权限设的设定,每一张表都预设有admin的级别,它的权限(可以完全的无限制的操作CURD)。而其他的身份级别则需要另外建立与定义权限。比方说,我们可能会设定某一个级别的只能读取,但不能新增删除修改,以防止这个身份级别的使用者动到资料库内的资料。除此之外,我们甚至可以更近一步的去设定这张表格,我只能使用(CURD)哪些栏位。

https://ithelp.ithome.com.tw/upload/images/20211004/20140071BwqQdRtsKk.png

以我的公司为例,我们有admin(管理者)跟user(一般使用者)的权限差异。所以在针对user的权限设定上,就是让他无须做任何设定,都可以读取这张Table,但在新增、修改、删除则需要先去确认X-Hasura-Tenant-Id是否是目前用户,以防止该用户可能操作到其他用户资料的可能性。

下一篇会再说到有使用到的另一个功能Event Trigger


<<:  Day22 - 前处理: 资料平衡&Label 调整

>>:  19. PHPer x New Features

【Day 18】Shellcode 与他的快乐夥伴 (上) - Shellcode Loader

环境 Windows 10 21H1 Visual Studio 2019 前情提要 在【Day 0...

第 06 天 有甚麽事先练再说( leetcode 105 )

https://leetcode.com/problems/construct-binary-tr...

〖WordPress主题〗ASTRA释出「AGENCY BUNDLE」头500名购买只要$149的超级优惠

ASTRA 这个热门的WordPress主题,付费版一共有3种方案+2种付费模式;最引以为傲的是☞一...

企业资料通讯Week4 (2) | HTTP

HTTP 与Web 请求 HTTP,超文本传输协定(HyperText Transfer Proto...

【後转前要多久】# Day23 JS - JavaScript 变数、运算

变数 JS目前有三种宣告变数的方法。 在ES5以前都用var,ES6之後推出let与const。 新...