Android:如何在firebase中分隔不同的用户并在登录时限制它们?

时间:2017-08-22 11:35:40

标签: android firebase firebase-realtime-database

我有两种类型的用户 - 客户端和活动成员 - 我将他们的名字,电子邮件,密码等保存到firebase数据库。如何限制客户的电子邮件,他无法在活动会员活动中登录;如何限制活动成员的电子邮件,他无法登录客户活动?请帮我。谢谢!

下图显示了我的firebase结构: My Database structure

2 个答案:

答案 0 :(得分:1)

您有两种类型的用户,但我可以看到您将确切信息保存到客户端和事件用户。首先,您只能为两个用户创建一个firebase结构,只需添加一个布尔变量CLIENT,指示用户是客户端还是事件成员。要回答您的其他问题,请添加另一个布尔变量MEMBER,指示用户是否可以登录事件或客户端活动。所以这是我的火力模型!!

users
-KrvzqA4GnTsomTzRHtT
    client: false
    birthday: "23/2/1986"
    country: "Philippines"
    emailAdd: "client's email"
    fname: "Steph"
    lname:"Diaz"
    mobileNum:"Client's mobile"
    password:"password"
    member: true

答案 1 :(得分:0)

在您的"member_type"火碱基用户数据库中再添加一个值。 "member_type" : "true"如果您的成员是客户,则将其另存为值"member_type" : "false"

然后在您的应用程序中,用户登录到您的应用程序后检索该特定用户的信息并检查该用户的"member_type"是客户端还是事件是真是假? 如果"member_type"是客户端,则允许访问clientactivity,否则允许访问EventActivity。

您的数据库模型看起来像这样:

client
    -KrvzqA4GnTsomTzRHtT
        birthday: "23/2/1986"
        country: "Philippines"
        emailAdd: "client's email"
        fname: "Steph"
        lname:"Diaz"
        mobileNum:"Client's mobile"
        password:"password"
        member_type: true
eventMember
    -Ks-RHCoq0bUWJySDvCF
         birthday: "21/8/1992"
         country: "American Samoa"
         emailAdd: "eventmember's email"
         fname: "Patricia"
         lname:"Ortega"
         mobileNum:"eventmember's mobile"
         password:"password"
         member_type: false

您还可以通过布尔值或整数或您认为有用的任何其他数据类型来区分member_type。