如何在android firebase中设置基于角色的访问控制

问题描述 投票:-1回答:1

我正在使用fire base,我想将管理员和用户分开,我希望管理员应该定向到特定的活动,并将用户定向到其他人。我该怎么做呢我尝试过Auth方法,但它不起作用。

@Override
public void onComplete(@NonNull Task<AuthResult> task) {
    progBar.setVisibility(View.GONE);
    if (task.isSuccessful()) {
        startActivity(new Intent(getApplicationContext(), Admin.class))
    } else {

    }
android firebase-realtime-database
1个回答
0
投票

Firebase身份验证没有管理员用户的内置概念。如果您需要,您必须自己在Firebase上构建它。

执行此操作的典型方法是在用户为管理员时将custom claim添加到用户的配置文件中。您可以使用Firebase Admin SDK执行此操作,其操作非常简单:

admin.auth().setCustomUserClaims(uid, {admin: true})

但请注意,Admin SDK仅用于受信任的环境,例如您的开发计算机,您控制的服务器或云功能。否则,任何人都可以使用上述代码将自己标记为您的应用的管理员。

有了自定义声明,你可以使用client can read that claim(传播到客户端需要一个小时),并根据它显示正确的UI。

© www.soinside.com 2019 - 2024. All rights reserved.