我已经看到了几个关于在Firebase中放置特定安全规则的问题。在这些情况下,我已经想出了如何做到这一点。现在我通过authData.uid保存信息并获取此信息....
[Firebase] Using an unspecified index. Consider adding ".indexOn": "4eb8920a-e407-4488-bce4-c6f64f7b0891" at /UserVideo to your security rules for better performance
如何为唯一键添加此类安全规则以及如何?这是我的询问......
let videoRef = self.ref.childByAppendingPath("UserVideo")
videoRef.queryOrderedByChild("\(currentUser)").queryLimitedToFirst(1)
.observeEventType(.ChildAdded, withBlock: { snapshot in
if snapshot != nil
欢迎任何见解!!
*更新*
呀。我忘了添加currentUser是......
let currentUser = ref.authData.uid
查询实际上会返回相关信息。它还包括指定的警告。将尝试第二个答案几次并更新这篇文章,如果它的工作原理。如果有其他人有任何想法,请发布。
答案 0 :(得分:0)
请参阅:Security & Rules Quickstart
安全和Firebase规则用于确定谁对您的数据库具有读写权限,以确保该数据的结构。它们位于App Dashboard的“安全”选项卡中。它们分为三种:
.write
,.read
和.validate
。
要回答您的问题,请同时使用validate
和write
添加唯一键的安全规则。
一个例子是:
{
"rules": {
"foo": {
// /foo is readable by the world
".read": true,
// /foo is writable by the world
".write": true,
// data written to /foo must be a string less than 100 characters
".validate": "newData.isString() && newData.val().length < 100"
}
}
}
这有帮助吗?