java - 权限被拒绝 firebase.push()

标签 java firebase firebase-security

我正在使用 firebase 和 java。我曾经通过添加数据

firebaseRef.child("users").push().setValue(user);

其中我的user是来自User.class的对象,具有以下属性

String name;
String id;

当我向数据添加验证以接受 id 等于 key 的输入时 id === 'secret id' 如下

"user": {
    ".read": true,
    ".write": true,
    ".validate": "newData.hasChild('id')",
    "id": {
        ".validate": "newData.val() === 'secret id'"
    }
}

它显示我的权限被拒绝,我根据他们的文档尝试了很多案例,但我得到了相同的权限被拒绝。
有什么建议吗?

最佳答案

问题已解决,Firebase.push() 生成新的 id,因此 newData 不再引用它,我创建了一个变量来表示该 id,以便我可以正常访问我的数据

"user": {
    "$key": {
        ".read": true,
        ".write": true,
        ".validate": "newData.hasChild('id')",
        "id": {
            ".validate": "newData.val() === 'secret id'"
        }
    }
}

关于java - 权限被拒绝 firebase.push(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36654903/

相关文章:

javascript - 带有 Firefox Web 扩展插件的 Firebase 身份验证

android - 尝试将 downloadUri 添加到 Firestore 文档时出错。 "Could not serialize object. Exceeded maximum depth of 500"

node.js - 创建多个 firebase-admin 实例

火力地堡 : How to validate a User ID posted by another user.

javascript - AngularFire:恢复匿名 session

java - 绘制时 Sprite 不显示

java - 如何从xslt中的java map 获取数据

java - 如何为调用 API 的方法编写 JUnit 测试?

java - 如何使文本流可选择

javascript - 如何更改 Firebase 父节点的名称以启用规则