首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Firebase子节点成为公共节点

使Firebase子节点成为公共节点
EN

Stack Overflow用户
提问于 2020-07-17 07:48:02
回答 1查看 46关注 0票数 0

我想让注册函数只公开用户的子节点下的username节点。因此,该值必须能够让非注册用户注册。这是我的firebase数据库结构。我该怎么做呢?

以下是我的规则

代码语言:javascript
复制
{
  "rules": {
    "Homeland": {
       ".indexOn": ["username","email","bakiyetl","yarismada","yarismadabb","splashmesaj","uygulama1tut","uygulama2tut","uygulama3tut","uygulama4tut","uygulama5tut","uygulama6tut","uygulama7tut","uygulama8tut","uygulama9tut","uygulama10tut"]
        },     
    "gunluksifreler": {
      ".read": true, // <-- allows every person
      ".write": true
    },
      ".read": "auth !== null", // <-- allows read if logged in
      ".write": "auth !== null" // <-- allows write if logged in
  }
}

在数据库中搜索用户名。

代码语言:javascript
复制
Query cmyquery = refbir.child("Homeland").orderByChild("username").equalTo(usergivenname);


cmyquery.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()){

                    //user name already taken
                    

                }else if(sonlandirgorev!=1){

                  //You can use this username


                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
EN

回答 1

Stack Overflow用户

发布于 2020-07-17 07:56:38

规则1:为了能够读取位置或对位置运行查询,您必须能够读取该位置上的数据。

了解了这一点,让我们来看一下:

代码语言:javascript
复制
Query cmyquery = refbir.child("Homeland").orderByChild("username")

此代码要求用户可以读取Homeland节点。

这在文档中称为rules are not filters

规则2:您可以在JSON中的某个级别读取或写入数据,但该权限不能在较低级别上被取消。

根据这个规则和上面的规则:一个用户可以读取和查询Homeland,他们可以读取它下面的所有数据。没有办法隐藏部分数据。

这在文档中称为read and write rules cascade

常见的解决方案是根据谁需要访问数据来拆分数据。因此,如果您只希望每个人都可以使用username属性值,那么可以创建一个顶级usernames节点,在该节点下具有相同的键,然后只提供该用户的用户名的值。然后,在新的usernames节点上,您可以授予比在Homeland节点上更自由的访问权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62945106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档