登录时如何管理访问权限控制

时间:2019-05-14 21:20:59

标签: swift firebase firebase-authentication

我一直在寻找控制,一种用户可以在我的应用程序中看到什么,这是一个学者项目。我正在使用Swift和Firebase身份验证。我有两种用户:Model和Client。在我的应用程序中,我对模型有一些看法,而对客户端有一些看法。我想做的是,一旦他们登录,进入应用程序将仅显示其用户的视图。我不知道如何验证试图登录的用户是Model还是Client。

@IBAction func signInTapped(_ sender: UIButton) {

        if validateFields(){

            Auth.auth().signIn(withEmail: emailTxt.text!, password: passTxt.text!, completion:{
                (user, error) in
                if let u = user {
                    //User is found
                }else{
                    //Error
                }
            })
        }
    }

我知道代码必须在注释“找到用户”的位置,但是我不知道是否需要在Firebase控制台中进行修改

2 个答案:

答案 0 :(得分:0)

为您的项目创建Firebase数据库或Firestore。 现在,当您对用户进行身份验证时,您还应该在数据库中创建一个userobject。在此对象中,您可以创建一个字段来存储您的用户是模型还是客户端。 现在,一旦用户登录,就可以从数据库中下载该用户对象,检查该用户是模型还是客户端,然后将用户发送到其相应的视图。

答案 1 :(得分:0)

您可以使用自定义声明。 您使用Admin SDK进行设置

@Html.PagedListPager(Model, page => Url.Action("Reorder", new { page, searchString = ViewBag.searchString }))

然后在客户端SDK中阅读声明。

// Javascript
admin.auth().setCustomUserClaims(uid, {model: true}).then(() => {
    // The new custom claims will propagate to the user's ID token the
    // next time a new one is issued.
});

Firebase Docs

无耻复制