【问题标题】:user management with Firebase and React使用 Firebase 和 React 进行用户管理
【发布时间】:2019-09-18 08:35:57
【问题描述】:

我想知道这是否可以使用 Firebase 和 React。

我想创建一个管理员面板,管理员可以在其中添加新用户和分配角色。版主也应该能够登录并发布新帖子(我已经弄清楚的新帖子部分)。

但是我不希望任何用户能够自己注册,只需管理员将他们添加到网站。

这可能吗?在这种情况下,怎么做?感谢您的意见和想法

【问题讨论】:

  • 是的,Firebase 可以做到这一点。但。 Firebase 没有“管理员”用户的概念 - 所有用户都只是用户,因此如果您希望“管理员”用户具有特殊能力,您必须为此编写应用程序。另请记住,在某些情况下,当登录用户“创建”另一个用户时,它会将该用户登录到我们的帐户并记录新创建的用户。您应该在太长之前做一些研究。
  • 感谢您花时间回答。是的,我试图创建一个名为 users 的 firebase 集合,每个文档都应该有 Firebaseapp 创建的用户 ID 作为名称。我还认为我可以使用我拥有的基本注册表单并将其限制为管理员。但我注意到我会自动登录,正如你提到的。您知道用户管理的最佳方法是什么吗?要创建新用户,将它们显示为列表、删除等。我知道有一个叫做 admin sdk 的东西,但据我所知,我不应该在 webbserver 上使用它?

标签: reactjs firebase react-web


【解决方案1】:

是的,它可能,只需创建一个能够将数据发送到 firebase 的接口。 这里有一个小例子。 我刚刚创建了连接到 Firebase 的 APP。 Firebase 可以节省大量时间,因为您不必控制 Auth 和 Users SingUp,它具有执行此操作的功能。

我建议您将它与 ReactForm(发送数据)和 ReactRedux 一起使用以控制状态以及 LogIn、LogOut 和 SignUp。

https://medium.com/firebase-developers/how-to-setup-firebase-authentication-with-react-in-5-minutes-maybe-10-bb8bb53e8834

有关更多信息,请查看 Google 文档。 https://firebase.google.com/docs/auth

【讨论】:

  • 您好,感谢您的回答。我实际上已经有一个用户身份验证系统在运行。但对我来说重要的是,只有我作为管理员才能添加用户。但是我很难弄清楚应该如何做。有点类似于 Wordpress 的做法。
  • 首先添加firebasefirebase.initializeApp({ apiKey: "yourkeyhere", ....... });So firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; // ... });你可以添加一个用户,你可以在表单中验证后调用它,你也可以在firebase中创建一个数据库来存储用户@987654325 @@crushen
  • 与此类似:createUser = (e) => { e.preventDefault() firebase.auth().createUserWithEmailAndPassword(this.state.email, this.state.password) .then(cred => { const db = firebase.firestore(); return db.collection('users').doc(cred.uid.id).set({ company: this.state.company, email: this.state.email, }) }) 用户注册有效,但附加信息无效。感谢您抽出宝贵时间回答
  • 是的,您创建用户,然后将数据添加到 Firebase 存储中。我建议您将它放在不同的文件中,将带有视图的“前端”放在一个文件中,然后调用在其他文件中声明的此函数(之所以这么说是因为我看到了 this.state.email 和 this.state.company )。有 ReactRedux 扩展可以帮助你使用不同的调度来做到这一点。注意db.collection('users').doc(cred.uid.id).的路径,因为如果设置不正确,它将无法工作。我推荐你使用Database.child("users").child(userId). child("username")@crushen
猜你喜欢
  • 2021-11-13
  • 2012-12-15
  • 2019-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
  • 1970-01-01
  • 2018-02-24
相关资源
最近更新 更多