如何在Firebase中分离用户角色? [英] How to separate user roles in firebase?

查看:87
本文介绍了如何在Firebase中分离用户角色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Firebase Android应用程序中添加用户角色身份验证?从我看来,firebase仅具有电子邮件和密码身份验证.我想开发一个具有2个以上用户角色的android应用.例如,如果普通会员登录,则他将转到normal_memberActivity,如果他是高级会员,则将转到premium_memberActivity.如何在Firebase中添加角色?找不到像我这样的类似问题.

How do I add user role authentication in firebase android app? From what I see, firebase only has email and password authentication. I want to develop an android app that has 2+ user roles. For example, if a normal member logs in, he will go to normal_memberActivity and if he's a premium member, he'll go to premium_memberActivity. How do I add roles in firebase? Wasn't able to find a similar problem like mine.

通常,我会这样:

String role = intent.getStringExtra("role");

if (role.equals("admin")){
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction().replace(R.id.content_frame, new AdminHomeFragment()).commit();
}else{
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction().replace(R.id.content_frame, new NormalFragment()).commit();
}

推荐答案

您可以在firebase数据库中添加一个角色节点,以存储用户的uid及其角色.

You can add a roles node in the firebase database storing the user's uid and their role.

"roles" : {
    "uid1" : "normal",
    "uid2" : "premium",
    "uid3" : "normal",
}

然后,您可以在用户成功登录后获取角色值

Then you can get the role value after the user is successfully signed in

ref.child("roles").child(firebaseUser.getUid()).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String role = dataSnapshot.getValue(String.class);
        // check role and replace fragment
    }
    @Override
    public void onCancelled(DatabaseError databaseError) {}
});

这篇关于如何在Firebase中分离用户角色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆