获取当前登录用户的详细信息

Seamy20

我试图获得用户的管理员权限,该权限为真或假。我不认为我得到了当前登录的用户详细信息,下面的代码是我所拥有的,但是当我调试它时,它似乎遍历了 firebase 表中的所有用户,如果有的话,它会将按钮设置为可见的

 databaseUsers = FirebaseDatabase.getInstance().getReference("users");
    //  buttonAddProducts.setVisibility(View.GONE);
    //   buttonAddBeverages.setVisibility(View.GONE);

    String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
    DatabaseReference currentUserReference = databaseUsers.child(uid);
    currentUserReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot userSnapshot) {
            if (userSnapshot.exists()) {
                User user = userSnapshot.getValue(User.class);

                if(user.getAdminUser() == true)
                {
                    buttonAddProducts.setVisibility(View.VISIBLE);
                    buttonAddBeverages.setVisibility(View.VISIBLE);
                }
            }
            else{
                Log.i("myInfoTag", "Connection problem");
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            throw databaseError.toException(); // don't ignore exceptions
        }
    });
弗兰克·范·普费伦

您正在侦听所有用户,然后遍历他们,如果其中任何一个是管理员,则显示按钮。

如果你只想显示当前用户的按钮,你应该只查询当前用户。在您当前的数据模型中,可能类似于:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference currentUserReference = databaseUsers.child(uid);
currentUserReference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()) {
            User user = venueSnapshot.getValue(User.class);

            if(user.getAdminUser() == true)
            {
                buttonAddProducts.setVisibility(View.VISIBLE);
                buttonAddBeverages.setVisibility(View.VISIBLE);
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException(); // don't ignore exceptions
    }
});

这不仅会为您提供所需的行为,还会大大减少您的应用程序使用的带宽。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Liferay:如何在Servlet中获取当前的登录用户详细信息?

来自分类Dev

获取当前用户的详细信息,即登录 firebase 的用户

来自分类Dev

cakePHP获取用户已登录用户的详细信息

来自分类Dev

如何在servlet(Portlet)中获取Liferay登录用户详细信息?

来自分类Dev

无法在Portlet中获取Liferay登录用户详细信息

来自分类Dev

无法通过Azure图形API获取完整的登录用户AAD详细信息

来自分类Dev

无法在Portlet中获取Liferay登录用户详细信息

来自分类Dev

查找默认登录用户的详细信息

来自分类Dev

Java SE-存储当前登录的用户详细信息

来自分类Dev

如何从Google API获取当前用户的详细信息

来自分类Dev

在数据浏览器中解析没有Facebook详细信息的登录用户

来自分类Dev

返回当前用户的详细信息

来自分类Dev

返回当前用户的详细信息

来自分类Dev

带有apache ldap后端身份验证的django,获取登录用户名和ldap组并基于组(mod_ldap)隐藏详细信息

来自分类Dev

用户的上次登录详细信息

来自分类Dev

获取登录项目详细信息

来自分类Dev

获取登录项目详细信息

来自分类Dev

获取JSP中的用户详细信息?

来自分类Dev

获取和显示用户的详细信息

来自分类Dev

在用户登录TWITTER后获取用户详细信息

来自分类Dev

用户登录后,如何获取该特定用户的详细信息?

来自分类Dev

Yii获取当前登录用户

来自分类Dev

Yii获取当前登录用户

来自分类Dev

如何获取当前登录用户

来自分类Dev

获取当前登录用户的名称

来自分类Dev

查看客户时如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

来自分类Dev

查看客户时,如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

来自分类常见问题

在Spring Security中使用静态方法获取当前用户详细信息

来自分类Dev

如何使用UserService获取当前用户的完整详细信息,包括其默认地址?

Related 相关文章

  1. 1

    Liferay:如何在Servlet中获取当前的登录用户详细信息?

  2. 2

    获取当前用户的详细信息,即登录 firebase 的用户

  3. 3

    cakePHP获取用户已登录用户的详细信息

  4. 4

    如何在servlet(Portlet)中获取Liferay登录用户详细信息?

  5. 5

    无法在Portlet中获取Liferay登录用户详细信息

  6. 6

    无法通过Azure图形API获取完整的登录用户AAD详细信息

  7. 7

    无法在Portlet中获取Liferay登录用户详细信息

  8. 8

    查找默认登录用户的详细信息

  9. 9

    Java SE-存储当前登录的用户详细信息

  10. 10

    如何从Google API获取当前用户的详细信息

  11. 11

    在数据浏览器中解析没有Facebook详细信息的登录用户

  12. 12

    返回当前用户的详细信息

  13. 13

    返回当前用户的详细信息

  14. 14

    带有apache ldap后端身份验证的django,获取登录用户名和ldap组并基于组(mod_ldap)隐藏详细信息

  15. 15

    用户的上次登录详细信息

  16. 16

    获取登录项目详细信息

  17. 17

    获取登录项目详细信息

  18. 18

    获取JSP中的用户详细信息?

  19. 19

    获取和显示用户的详细信息

  20. 20

    在用户登录TWITTER后获取用户详细信息

  21. 21

    用户登录后,如何获取该特定用户的详细信息?

  22. 22

    Yii获取当前登录用户

  23. 23

    Yii获取当前登录用户

  24. 24

    如何获取当前登录用户

  25. 25

    获取当前登录用户的名称

  26. 26

    查看客户时如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

  27. 27

    查看客户时,如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

  28. 28

    在Spring Security中使用静态方法获取当前用户详细信息

  29. 29

    如何使用UserService获取当前用户的完整详细信息,包括其默认地址?

热门标签

归档