我在使用 Firebase 实施基本安全规则时遇到问题(我阅读了有关 Firebase 和 StackExchange 的文档,但无法使安全规则生效):
模型(模型的 Emberjs 表示):
App.User = DS.Model.extend({
uid: DS.attr('string'),
displayName: DS.attr('string'),
books: DS.hasMany('statistic', { inverse: 'user', async: true}),
actions: DS.hasMany('action', { inverse: 'user', async: true}),
});
App.Action = DS.Model.extend({
date: DS.attr('date'),
actionType: DS.attr('string'),
comment: DS.attr('string'),
user: DS.belongsTo('user', {inverse: 'actions', async: true} )
});
App.Book = DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
user: DS.belongsTo('user', { inverse: 'books', async: true} )
});
这 3 个节点(模型)直接存储在 Firebase 应用的根目录中。Book 和 Action 模型有一个user
字段(属性)。
编写规则是什么,以便:
- 只有 Book 和 Action 模型(节点)的 user 字段中标识的用户才能对自己的数据进行读写访问?(
user
Book 和 Action 中的字段值必须等于auth.uid
Firebase 中的值,用户才能被授予读写权限。) - 用户只能访问属于他们的用户模型(节点)的信息吗?
谢谢