【发布时间】:2018-12-23 13:30:58
【问题描述】:
我有一个系统,其中每个用户都有权读取一个或多个特定节点(但不是全部)。我将如何设置,以便在读取时循环浏览数据库中的所有子节点,然后它只会读取用户有权访问的那些?
非常感谢!
这是我目前必须做的: (有超过2家店)
var database = firebase.database();
var storeOneRef = database.ref().child('storeOne');
var storeTwoRef = database.ref().child('storeTwo');
var allStores = [ { ref: storeOneRef, name: 'storeOne'},
{ ref: storeTwoRef, name: 'storeTwo'} ];
for (var i = 0; i < allStores.length; i++) {
allStores[i].ref.once('value', (snapshot) => {
var data = snapshot.val();
});
}
【问题讨论】:
-
这很模糊。你的数据库结构是什么?您是否使用安全规则?如果是这样,它们是什么?您已经尝试过哪些代码,如果是,有什么问题?
-
例如:每个商店都有一个子节点,然后在该节点内有销售。当零售商想看到他们的销售时,他们只想看到自己的。我如何能够有一种全面的方式来做到这一点,而不是指定特定的节点?
-
您还没有定义零售商如何知道哪些销售是他们自己的。你的数据库结构是什么?您是否使用安全规则?在得出结论之前,您需要定义这些内容。没有“一揽子解决方案”可以自动让您同时过滤和阻止。 firebase.google.com/docs/database/security/…
-
每个零售商用户都有一个登录名,将使用 Firebase 数据库规则对一个零售商子节点进行身份验证。每个零售商子节点都有多个销售额。每笔销售都有多个字段描述日期、价格等。
-
如果销售存储在零售商下面,听起来您没有问题。他们已经被授权阅读自己的销售数据。
标签: javascript database firebase firebase-realtime-database firebase-security