首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Postgraphile的字段授权级别

使用Postgraphile的字段授权级别
EN

Stack Overflow用户
提问于 2019-11-25 07:30:07
回答 1查看 213关注 0票数 0

目前,我正在使用Postgraphile,我需要在数据/字段级别强制执行权限。

例如,我有一个carmodel表,我的查询如下:

代码语言:javascript
复制
{
   carmodel
      {  
         id
         name
         description
      }
}

在这个表中,我有I (1 = AUDI,2= GM,3= BMW)当前用户(关于角色/索赔)只允许查看(1=AUDI/3=BMW)

是否有一种基于字段数据强制权限的方法?是否只返回对用户权限进行筛选的数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-25 10:08:41

是的;行级安全性可以以声明方式定义。类似于:

代码语言:javascript
复制
create policy audi_bmw on carmodel for select using (
  id in (1, 3)
);

不过,我猜这个权限来自另一个表;所以它可能更像是:

代码语言:javascript
复制
create policy audi_bmw on carmodel for select using (
  id in (
    select car_model_id
    from user_carmodel_permissions
    where user_id = current_user_id()
  )
);

假设您已经有了一个current_user_id函数,如下所示:

代码语言:javascript
复制
create function current_user_id() returns int as $$
  select nullif(current_setting('jwt.claims.user_id', true), '')::int;
$$ language sql stable;

看看我们的行级安全备忘表

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59027023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档