如何在Firebase中分离用户角色? [英] How to separate user roles in 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屋!