我已经在Parse中实现了多租户,通过(1)创建特定于租户的角色(每次创建一个新的租户)和(2)将它们分配给任何给定表上与租户相关的对象/记录/行的ACL。
我想知道它是否与Backand上相同的(基于角色的)逻辑,以及它应该如何实现。
任何示例或指向示例的指针都会很好。
发布于 2016-03-14 08:53:48
Backand中基于角色的安全性将帮助您构建多租户应用程序,包括对象级安全性和预定义过滤器。对于多租户,预定义的过滤器是非常重要的。它允许您对不同的租户使用相同的对象,并对数据进行过滤,以便每个租户被隔离。预定义的筛选器是一个NoSQL或SQL语句,它总是在服务器中运行并过滤数据。在Backand中,您可以自动创建只过滤请求用户创建的数据的语句。您需要确保所有对象都与users对象相关,这样这样的过滤器语句才能工作。下面是一个自动生成的NoSQL示例,它筛选特定用户的所有项,除非用户具有管理角色:
{
"$or": [
{
"'{{sys::role}}'": "'Admin'"
},
{
"user": {
"$in": {
"object": "users",
"q": {
"email": {
"$eq": "'{{sys::username}}'"
}
},
"fields": [
"id"
]
}
}
}
]
}这里的内容与SQL相同:
( 'Admin' = '{{sys::role}}') or (`items`.`user` in (select `users`.`id` from `users` where `users`.`email` = '{{sys::username}}'))您可以编辑这个语句,这样它就可以筛选出应用程序中标识租户的内容。
你可以用你的每一个对象。它位于对象的“安全”选项卡中。

https://stackoverflow.com/questions/35947237
复制相似问题