首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >背地多租户

背地多租户
EN

Stack Overflow用户
提问于 2016-03-11 18:19:38
回答 1查看 279关注 0票数 1

我已经在Parse中实现了多租户,通过(1)创建特定于租户的角色(每次创建一个新的租户)和(2)将它们分配给任何给定表上与租户相关的对象/记录/行的ACL。

我想知道它是否与Backand上相同的(基于角色的)逻辑,以及它应该如何实现。

任何示例或指向示例的指针都会很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-14 08:53:48

Backand中基于角色的安全性将帮助您构建多租户应用程序,包括对象级安全性和预定义过滤器。对于多租户,预定义的过滤器是非常重要的。它允许您对不同的租户使用相同的对象,并对数据进行过滤,以便每个租户被隔离。预定义的筛选器是一个NoSQL或SQL语句,它总是在服务器中运行并过滤数据。在Backand中,您可以自动创建只过滤请求用户创建的数据的语句。您需要确保所有对象都与users对象相关,这样这样的过滤器语句才能工作。下面是一个自动生成的NoSQL示例,它筛选特定用户的所有项,除非用户具有管理角色:

代码语言:javascript
复制
{
  "$or": [
    {
      "'{{sys::role}}'": "'Admin'"
    },
    {
      "user": {
        "$in": {
          "object": "users",
          "q": {
            "email": {
              "$eq": "'{{sys::username}}'"
            }
          },
          "fields": [
            "id"
          ]
        }
      }
    }
  ]
}

这里的内容与SQL相同:

代码语言:javascript
复制
( 'Admin' = '{{sys::role}}') or (`items`.`user` in (select `users`.`id` from `users` where `users`.`email` = '{{sys::username}}'))

您可以编辑这个语句,这样它就可以筛选出应用程序中标识租户的内容。

你可以用你的每一个对象。它位于对象的“安全”选项卡中。

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

https://stackoverflow.com/questions/35947237

复制
相关文章

相似问题

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