【问题标题】:How to create complex user roles in Google App Maker如何在 Google 应用制作工具中创建复杂的用户角色
【发布时间】:2019-04-29 21:25:00
【问题描述】:

我正在考虑创建一组基于组的权限角色,然后根据这些角色细节过滤他们从数据源中看到的数据,但我似乎无法让它如我所愿。

为了获得概念证明,我只是尝试过滤名册数据源并拥有以下服务器端脚本:

function roleCheckAgents(user)
{
  var userRoles = app.getActiveUserRoles();
  var query = app.models.Agents.newQuery();

  if(userRoles.indexOf(app.roles.testRole) >= 1){
     if(app.models.Agents.getRecords().filter().
       query.filters.strRelatedCompany._equals === "sampleCompany");
     return query.run();
  }

}

该组本身包含我的电子邮件和其他一些电子邮件,并列为testRole。在代理数据源安全性中,我已将 Load 列为脚本:roleCheckAgents(user)

实际上,我想在一个角色中设置多个过滤器,例如Company === "sampleCompany" && Site === "sampleSite"

任何帮助将不胜感激,因为我目前无法看到这将如何以我需要/想要的方式运行。

谢谢!

更新:

我能够让多个过滤器工作,但只能作为数据源的查询脚本。造成的问题是我已经在该部分中有查询构建器条件,您只能有查询构建器或查询脚本。

查询脚本的工作原理如下:

var query = app.models.Audits.newQuery();  
if(app.getActiveUserRoles().indexOf(app.roles.Test) > -1)
  {   query.filters.field1._contains = "center";
      query.filters.field2._contains = "status";
      return query.run();}
else
{}

当前的查询构建器项目是:

field1 contains? :searchText OR
field2 contains? :searchText OR
field3 contains? :searchText OR
field4 contains? :searchText OR
field5 contains? :searchText

关于如何将两者都作为查询构建器或查询脚本的一部分有什么想法?

谢谢。 克里斯托弗

【问题讨论】:

    标签: google-app-maker


    【解决方案1】:

    为什么不使用“模型权限”来指定每个角色的访问权限(数据源上的安全选项卡)。如果您是 GCP 超级管理员,则可以创建自定义角色。

    【讨论】:

      猜你喜欢
      • 2017-12-01
      • 2019-09-13
      • 2013-05-11
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多